Isis
04.08.2008, 02:11
[Intro]
Много писать не буду, все понятно!
Надоело видеть ошибку 504 при заходе на свой сайт?
Я помогу Вам избавиться от этого с помощью Firewall.
Естественно защитить от огромного кол-ва ботов вы не сможете, однако :)
[Script]
<?php
error_reporting(0);
$array = array('66.249.64.', '81.19.64.', '89.208.19.', '213.180.206.', '72.30.0.', '87.250.230.', '213.180.216.', '222.0.0.');
$position = explode('.', $_SERVER['REMOTE_ADDR']);
$pos = $position[0].'.'.$position[1].'.'.$position[2].'.';
if(!in_array($pos, $array))
{
$dir = 'bots/';
$cook = strrev(sha1('Fuck you' . md5(getenv('HTTP_USER_AGENT'))));
function ban()
{
system("/bin/sudo pfctl -t dl -T add " . escapeshellarg($_SERVER["REMOTE_ADDR"]));
die('Firewall has been you!!!<br/>Cookie must be on');
}
if (empty($_COOKIE['ddos']))
{
$counter = @file($dir . $_SERVER["REMOTE_ADDR"]);
if(count($counter) > 5) ban();
setcookie('ddos', $cook, time() + 9800);
$f = @fopen($dir . $_SERVER["REMOTE_ADDR"], "a");
fwrite($f, "Antiddos by xeka.ru\r\n");
fclose($f);
header('Location: ' . $_SERVER['PHP_SELF']);
die();
}
if ($_COOKIE['ddos'] !== $cook)
{
ban();
die();
}
if ($_COOKIE['ddos'] == $cook)
{
system("/bin/sudo pfctl -t dl -T del " . $_SERVER["REMOTE_ADDR"]);
@unlink($dir . $_SERVER["REMOTE_ADDR"]);
}
}
?>
Script/pastebin.x3k.ru (http://pastebin.x3k.ru/433)
[Description]
$array - массив с IP адресами поисковых ботов, которых мы НЕ баним!
$dir - папка, куда будем записывать файлы с IP адресами плохих отрубей. CHMOD права на папку 0777
$cook - пишите что хотите, записываем шифр в куки :)
function ban() - Создаем функцию бана с помощью команды к файрволу.
Далее проверки и отделение хороших от отрубей :)
Copyright xeka.ru (http://forum.xeka.ru/f25/t4811/)
Много писать не буду, все понятно!
Надоело видеть ошибку 504 при заходе на свой сайт?
Я помогу Вам избавиться от этого с помощью Firewall.
Естественно защитить от огромного кол-ва ботов вы не сможете, однако :)
[Script]
<?php
error_reporting(0);
$array = array('66.249.64.', '81.19.64.', '89.208.19.', '213.180.206.', '72.30.0.', '87.250.230.', '213.180.216.', '222.0.0.');
$position = explode('.', $_SERVER['REMOTE_ADDR']);
$pos = $position[0].'.'.$position[1].'.'.$position[2].'.';
if(!in_array($pos, $array))
{
$dir = 'bots/';
$cook = strrev(sha1('Fuck you' . md5(getenv('HTTP_USER_AGENT'))));
function ban()
{
system("/bin/sudo pfctl -t dl -T add " . escapeshellarg($_SERVER["REMOTE_ADDR"]));
die('Firewall has been you!!!<br/>Cookie must be on');
}
if (empty($_COOKIE['ddos']))
{
$counter = @file($dir . $_SERVER["REMOTE_ADDR"]);
if(count($counter) > 5) ban();
setcookie('ddos', $cook, time() + 9800);
$f = @fopen($dir . $_SERVER["REMOTE_ADDR"], "a");
fwrite($f, "Antiddos by xeka.ru\r\n");
fclose($f);
header('Location: ' . $_SERVER['PHP_SELF']);
die();
}
if ($_COOKIE['ddos'] !== $cook)
{
ban();
die();
}
if ($_COOKIE['ddos'] == $cook)
{
system("/bin/sudo pfctl -t dl -T del " . $_SERVER["REMOTE_ADDR"]);
@unlink($dir . $_SERVER["REMOTE_ADDR"]);
}
}
?>
Script/pastebin.x3k.ru (http://pastebin.x3k.ru/433)
[Description]
$array - массив с IP адресами поисковых ботов, которых мы НЕ баним!
$dir - папка, куда будем записывать файлы с IP адресами плохих отрубей. CHMOD права на папку 0777
$cook - пишите что хотите, записываем шифр в куки :)
function ban() - Создаем функцию бана с помощью команды к файрволу.
Далее проверки и отделение хороших от отрубей :)
Copyright xeka.ru (http://forum.xeka.ru/f25/t4811/)