Быстрая и простая защита от наводнений?
У меня есть сайт, где пользователь отправляет сообщение с помощью AJAX в файл с именемlike.php
, В этом файле сообщение пользователя отправляется в базу данных, а затем отправляет ссылку обратно пользователю. В моем коде Javascript я отключил текстовое поле, которое вводит пользователь при отправке запроса AJAX.
Единственная проблема в том, что злоумышленник может просто постоянно отправлять POST-запросыlike.php
и залить мою базу данных. Поэтому я хотел бы реализовать простую защиту от наводнений.
Я на самом деле не хочу хлопот с другой таблицей базы данных, в которой регистрируются IP-адреса пользователей и тому подобное ... как будто они затопляют мой сайт, будет много операций чтения / записи базы данных, замедляющих его. Я думал об использовании сессий, например, иметь сессию, которая содержит метку времени, которая проверяется каждый раз, когда они отправляют данныеlike.php
и, если текущее время находится перед отметкой времени, разрешите им добавлять данные в базу данных, в противном случае отправьте сообщение об ошибке и заблокируйте их. Если им разрешено вводить что-либо в базу данных, обновите их сеанс с новой отметкой времени.
Как вы думаете? Будет ли это лучшим способом или есть более легкие альтернативы?
Спасибо за любую помощь. :)