<?php
$dir = '/home/your-site.com/www/';
$antibot_cookie = md5('random phrase'.getenv('HTTP_USER_AGENT'));
$ban_file = 'banned.txt';
if(strstr(@file_get_contents($dir.$ban_file), $_SERVER['REMOTE_ADDR']))
exit;
$f = fopen($dir . $_SERVER["REMOTE_ADDR"], "a");
fwrite($f, "string\n");
fclose($f);
$counter = @file($dir . $_SERVER["REMOTE_ADDR"]);
if (!isset($_COOKIE['ddos']))
setcookie('ddos', $antibot_cookie, time() + 3600*24*7*356);
elseif ($_COOKIE['ddos'] !== $antibot_cookie || count($counter) > 10)
{
system("iptables -A INPUT -s ".$_SERVER["REMOTE_ADDR"]." -j DROP");
$f = fopen($dir.$ban_file, "a");
fwrite($f, $_SERVER['REMOTE_ADDR'].'|');
fclose($f);
header('Location: http://'.gethostbyaddr($_SERVER["REMOTE_ADDR"]));
exit;
}
?>
http://snipper.ru/view/9/zashhita-ot-slaboj-ddos-ataki-na-php/
mixlion, это скорее даже не защита.
Причем на шаредах даже не запустите это xD
И вообще блочить ип после 10 запросов глупо, так же скрипт заблочит устройства не поддерживающих куки
16 Янв 2011, 0:40