Защита сайта от слишком частого обращения
Если к Вашему сайту идет слишком много обращений от какого-либо компьютера (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("Нельзя обращаться к сайту чаще, чем раз в две секунды!");
}
$_SESSION["telecod_ip"]=time();
?>
Данный скрипт записывает время последнего обращения к странице сайта для каждого посетителя в отдельности. При повторном обращении к страничке, скрипт проверяет, через какой интервал времени было сделано это повторное обращение. Если повторное обращение было совершено ранее указанного в скрипте интервала времени (в данном случае это две секунды), тоnbsp;страничка не обновится, а будет показано соответствующее сообщение.
Для наглядного примера работы скрипта, попробуйте обновить данную страничку пару раз с интервалом менее двух секунд. В результате вместо обновленной странички появится надпись: "Нельзя обращаться к сайту чаще, чем раз в две секунды!"
Данный способ можно рассматривать как простейшую защиту сайта от DDoS атак, точнее как защиту от частого обращения для снижения нагрузки на сервер.
Только не увлекайтесь тестированием данного скрипта на нашем сайте, т.к. Вы можете получить автоматический БАН по IP из-за слишком частого обращения к страничкам.
Подробнее о том, как мы это реализовали подобный автоматический БАН по IP, Вы можете узнать в теме - Автобан, или как автоматически заблокировать доступ к сайту.
Перед публикацией все комментарии проходят обязательную модерацию!
Если Вы хотите задать какой-либо вопрос, то сделайте это на нашем форуме.
Таким образом, Вы сможете быстрее получить ответ на интересующий Вас вопрос.
П.с. скрипт сам работает.
Перерыл тонны информации, но толку нет абсолютно - никто ничего не знает на эту тему даже близко.
Мысли есть какие-нибудь?