
15.02.2008, 02:54
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
PHP код:
<?php
error_reporting(0);
$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;
$ip = strpos($_SERVER['REMOTE_ADDR'], '66.249.64.') !== false;
$ip2 = strpos($_SERVER['REMOTE_ADDR'], '81.19.64.') !== false;
$ip3 = strpos($_SERVER['REMOTE_ADDR'], '89.208.19.') !== false;
$ip4 = strpos($_SERVER['REMOTE_ADDR'], '213.180.206.') !== false;
$ip5 = strpos($_SERVER['REMOTE_ADDR'], '72.30.0.') !== false;
$ip6 = strpos($_SERVER['REMOTE_ADDR'], '87.250.230.') !== false;
$ip7 = strpos($_SERVER['REMOTE_ADDR'], '213.180.216.') !== false;
$ip8 = strpos($_SERVER['REMOTE_ADDR'], '222.0.0.') !== false;
$ip9 = strpos($_SERVER['REMOTE_ADDR'], '89.169.147.') !== false;
if(!$google || !$yandex || !$rambler || !$aport || !$msn || !$yahoo || !$ip || !$ip2 || !$ip3 || !$ip4 || !$ip5 || !$ip6 || !$ip7 || !$ip8 || !$ip9)
{
$dir = 'xekers/';
$cook = strrev(sha1('xek' . md5(getenv('HTTP_USER_AGENT'))));
function ban()
{
system("/bin/sudo pfctl -t isis -T add " . escapeshellarg($_SERVER["REMOTE_ADDR"]));
}
if (empty($_COOKIE['ddos']))
{
$counter = @file($dir . $_SERVER["REMOTE_ADDR"]);
if(count($counter) > 10) ban();
setcookie('ddos', $cook, time() + 9800);
$f = @fopen($dir . $_SERVER["REMOTE_ADDR"], "a");
fwrite($f, "request\r\n<br />");
fclose($f);
header('Location: ' . $_SERVER['PHP_SELF']);
die();
}
if ($_COOKIE['ddos'] !== $cook)
{
ban();
die();
}
if ($_COOKIE['ddos'] == $cook)
{
system("/bin/sudo pfctl -t isis -T del " . $_SERVER["REMOTE_ADDR"]);
@unlink($dir . $_SERVER["REMOTE_ADDR"]);
}
}
?>
© Isis 
|
|
|