Для защиты своего сайта от большого количества обращений можно воспользоваться простым, но довольно эффективным методом, основанным на сессиях.
В самом начале всех страниц Вашего сайта, которые будем защищать от слишком частого обращения
Данный скрипт записывает время последнего обращения к странице сайта для каждого посетителя. При повторном обращении проверяет, через какой интервал времени было это повторное обращение. Если повторное обращение было менее указанного в скрипте интервала (в данном случае это две секунды), то страничка не обновится, а будет показано соответствующее сообщение.
Для наглядного примера работы скрипта, обновите данную страничку пару раз с интервалом менее двух секунд. В результате вместо обновленной странички появится надпись Нельзя обращаться к сайту чаще, чем 1 раз в две секунды!
Данный способ можно рассматривать как простейшую защиту сайта от ddos атак.
Только не увлекайтесь тестированием данного скрипта на нашем сайте, т.к. Вы можете получить автоматический БАН по IP на всем сайте из-за слишком частого обращения к страничкам.
<?php
// объявляем работу с сессиями
session_start();
// указываем папку, куда будет сохраняться информация сессий
session_save_path($_SERVER["DOCUMENT_ROOT"]."/log/session");
// устанавливаем защиту по IP (сессии) не чаще, чем раз в две секунды.
if (isset($_SESSION[telecod_ip])) {
$t = ((int)((time()-$_SESSION[telecod_ip])));
if($t < 2) die("Нельзя обращаться к сайту чаще, чем 1 раз в две секунды!");
}
$_SESSION[telecod_ip]=time();
?>