Защита от постоянных нажатий F5


Защита от постоянных нажатий F5 Если у Вас на сайте есть какой-нибудь сложный скрипт, к которому может обратиться любой пользователь, то желательно сделать защиту от постоянных нажатий F5. Так же подобную защиту можно встретить на обычных сайтах, где просто запрещено постоянно обновлять страницу. В этой статье я покажу один из способов, как подобное можно реализовать. Код достаточно простой: <?php session_start(); // Начинаем сессию $ts = time(); // Получаем текущее время $s_time = (empty($_SESSION["time"]))? 0: $_SESSION["time"]; // Если пользователь обращается к скрипту впервые, то устанавливаем значение 0, иначе берём его из сессии $_SESSION["time"] = $ts; // Обновляем значение сессии if ($ts - $s_time > 2) { // Если с момента предыдущего обращения прошло больше 2 секунд echo "Тут сложный скрипт"; // Выполняем скрипт } else echo "Хватит постоянно обновлять страницу!"; // Выводим сообщение об ошибке ?> Теперь если Вы попробуете понажимать F5, то обнаружите, что выводится сообщение "Хватит постоянно обновлять страницу!". Однако, если Вы будете делать перерывы (как обычный пользователь), а не кликать каждую секунду, то никаких проблем не возникнет. Вот такая простая защита от F5. И обязательно отмечу, что это ни в коем случае не защита от умышленной атаки. Поскольку идентификатор сессии хранится у пользователя, соответственно, злоумышленник его просто не будет отправлять, и скрипт будет всегда выполняться. Впрочем, про защиту от DDOS я уже писал. Вот так можно защитить сервер от нетерпеливых посетителей и облегчить ему жизнь, правда, усложнив её самим посетителям, поэтому я такой скрипт у себя на сайтах не использую.