нету),я говорил о простой реализации скрипта на пхп,пример
<?php /* //////////////////////////////////////////////////////////// Antiddos php module \= РАБОТАЕТ НА IPTABLES!!! Вставлять в начало скрипта через include Для работы антиддоса надо иметь право доступа к исполенению функции system и команды iptables(в данном случае) если же такого нет то, то *** знает чето сделал йа. лучше ставить антиддос на впс или выделенный сервер. От средненькогл ддосика поможет. \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ */ $debug = false; // дебуг мод, отключает бан, показывает просто сообщения, забанило али нет. if($debug){ error_reporting(0); }else{ error_reporting(0); }
/* Возможные значения $ddos 1-5: | 1. Простая проверка по кукам, по умолчанию(рекомендую) | 2. Двойная проверка через гет antiddos и meta refresh | 3. Запрос на авторизацию WWW-Authenticate | 4. полное отключение сайта, боты не блокируются!!! | 5. выключать сайт если нагрузка слишком большая на сервере, боты не блокируются!!! */
$ddos = 1; $log = false; $dir = dirname(__FILE__).'/cyki_bots/'; //дира с логами ддоса, создавать и ставить права 777 $ddos_redirect_host = 'http://google.com/'; // хост на который редиректить ддос. $icq = '123456'; //ася админа $off_message = 'Извините, тех неполадки.'; //сообщение при выключенном сайте $anticyka = md5(sha1('botik' . strrev(getenv('HTTP_USER_AGENT')))); $ban_message = 'Вы были заблокированы. Если это ошибка обратитесь к администратору, icq of admin:'.$icq.'<hr>(c)XakNet antiddos module';// сообщение при бане $exec_ban = "iptables -A INPUT -s ".$_SERVER["REMOTE_ADDR"]." -j DROP"; // для iptables, если у вас другая система измените, не лезьте если не знаете, лучше проконсультироваться!!! $load = sys_getloadavg(); // функция для получения лоад авереге \=\ $ddosuser = 'lol_ddos'; $ddospass = substr(ip2long($_SERVER['REMOTE_ADDR']), 0, 4); //спижжено //смотрит не поисковики ли это: $google = strpos($_SERVER['HTTP_USER_AGENT'], "Googlebot") !== false; $yandex = strpos($_SERVER['HTTP_USER_AGENT'], "Yandex") !== false; $rambler = strpos($_SERVER['HTTP_USER_AGENT'], "StackRambler") !== false; $aport = strpos($_SERVER['HTTP_USER_AGENT'], "Aport") !== false; $msn = strpos($_SERVER['HTTP_USER_AGENT'], "MSN") !== false; $yahoo = strpos($_SERVER['HTTP_USER_AGENT'], "Yahoo") !== false; //конец спижжено $f1 = fopen($dir . 'banned_ips', "a"); fclose($f1); if(strstr (file_get_contents($dir . 'banned_ips'), $_SERVER['REMOTE_ADDR'])){ die($ban_message); }
$f = fopen($dir . $_SERVER["REMOTE_ADDR"], "a"); fwrite($f, "zapros cyka\n"); fclose($f); function ban() { if(!system($exec_ban)){ $f = fopen($dir . 'banned_ips', "a"); fwrite($f, $_SERVER['REMOTE_ADDR'].'|'); fclose($f); } echo $ban_message; header('Location: '.$ddos_redirect_host.''); die(); } switch($ddos){ /////////////////////////// case 1: if (empty($_COOKIE['ddos']) or !$_COOKIE['ddos']) { $counter = @file($dir . $_SERVER["REMOTE_ADDR"]); setcookie('ddos', $anticyka, time() + 3600*24*7*356); // на год нах. if(count($counter) > 10) { if(!$debug){ ban(); }else{ die ("Блокированы."); } } if(!$_COOKIE['ddos_log']=='bil'){ if(!$_GET['antiddos'] == 1){ setcookie('ddos_log', 'bil', time()+3600*24*7*356); //типо запрос уже был чтоб не перекидывало постоянно рефрешем. header("Location: ./?antiddos=1"); } } }elseif ($_COOKIE['ddos'] !== $anticyka) { if(!$debug){ ban(); }else{ die ("Блокированы."); } } break; ///////////////////////// case 2: if(empty($_COOKIE['ddos'])){ if(empty($_GET['antiddos'])){ if(!$_COOKIE['ddos_log']=='bil'){ //проверям есть ли запись в куках что был запрос die('<meta http-equiv="refresh" content="0;URL=?antiddos='.$anticyka.'" />'); } }elseif($_GET['antiddos'] == $anticyka){ setcookie('ddos', $anticyka, time()+3600*24*7*356); setcookie('ddos_log', 'bil', time()+3600*24*7*356); //типо запрос уже был чтоб не перекидывало постоянно рефрешем. }else{
if(!$debug){ ban(); die("May be shall not transform address line?"); }else{ echo "May be shall not transform address line?"; die ("Блокированы."); } } } break; case 3: if(!isset($_SERVER['PHP_AUTH_USER']) || $_SERVER['PHP_AUTH_USER']!== $ddosuser || $_SERVER['PHP_AUTH_PW'] !== $ddospass){ header('WWW-Authenticate: Basic realm="Vvedite parol\': '.$ddospass.' | Login: '.$ddosuser.'"'); header('HTTP/1.0 401 Unauthorized'); if(!$debug){ ban(); }else{ die ("Блокированы."); } die("<h1>401 Unauthorized</h2>"); } break; case 4: die($off_message); //сайт отключен break; case 5: if ($load[0] > 80) { header('HTTP/1.1 503 Too busy, try again later'); die('<center><h1>503 Server too busy.</h1></center><hr><small><i>Server too busy. Please try again later. Apache server on '.$_SERVER['HTTP_HOST'].' at port 80 with <a href="http://forum.xaknet.ru/">ddos protect</a></i></small>'); } break; default: break; ////////////////////////// } if ($_COOKIE['ddos'] == $anticyka) { @unlink($dir . $_SERVER["REMOTE_ADDR"]);
} } ////////////////////////////// //****** всем кто меня знает о_0
сделай чуть светлый дизайн=),так норм)
а кто не читал новость, о том,что хотели продать 100к ботов или о шторме...
всё реально,господа..
нету),я говорил о простой реализации скрипта на пхп,пример
ТС также перепиши движок чуть
как надоедают с ддосом.Самый лучший вариант открыть свой независимый от ДЦ антиддосом(есть разные варианты)