Вот нашел такой вариант защиты от HTTP-Flood атак, в интернете. Мои знания PHP не позволяют оценить скрипт. Подскажите стоит ли использовать такой вариант для защиты?
<?php
$salt='changeme';
$token=md5($_SERVER['REMOTE_ADDR'].$salt);
$searched='domen.ru';
if( @$_REQUEST['token']!=$token
/*||
strpos(
$_SERVER['HTTP_REFERER'],
$searched
)
===FALSE*/
){
$page_uri=$_SERVER['REQUEST_URI'];
?>
<html>
<head>
<script type="text/javascript"
<!--
function delayer(){
window.location = "<?php echo $page_uri; ?>";
document.cookie="token=<?php echo $token; ?>";
}
//-->
</script>
</head>
<body onload="setTimeout('delayer()', 500)"
<h2>Prepare to be redirected!</h2>
<p>This page is a time delay redirect, please update your bookmarks to our new
location!</p>
</body>
</html>
<?php
exit();
}
?>
цитирую автора: Настройка
changeme - Соль. Нужно установить уникальное значение. Желательно: sh1khJxFQWHalem
Используется для шифрования кукисов, передаваемых клиенту и при проверке сервером.
domen.ru - Ну тут просто, вставляете свой домен. Без www и http
Как работает?
-Как только пользователь попадает на Ваш сайт, ему устанавливается кукис (Его IP адрес + Соль указаная в скрипте), если это значение не совпадает - шлем в сторону моря такого посетителя (не грузим php)
-Так же иногда боты(ботоводы) любят устанавливать рандомные referer (От куда пришел посетитель). Тут же каждый раз идет проверка, если посетитель ходя по сайту, не имеет реферера сайта, мы его шлем в сторону моря.
-Предположительно что у таких ботов, нету возможности обрабатывать javascript что сразу же отшивает их от нашего php
-Даже если у них работает javascript предполагаем что боты тупые, и приходят или с загаданным кукисом или же с пустым, в результате так же у нас все хорошо.
-Если же бот обработал даже javascript и принял кукис, он кроме HTML сообщения о том, что его сейчас перешлют на другую страницу, нечего не получит. ===> не грузит php
На практике:
При таких атаках, с этим скриптом, нагрузка падала до минимума. Как только был сохранен этот скрипт, в index.php (на тот момент этот скрипт был под атакой), сразу же кроме трафика никакой нагрузки в системе не было. Апатч успокоился и вздохнул спокойно.