Этот вопрос закрыт для ответов, так как повторяет вопрос Как уберечься от слишком частых ajax запросов?
@lissoff-1

Как защитить сервер от большого потока аякс запросов от пользователя?

Есть файлик на сервере, пользователь к нему обращается временами с аякс запросом и в нем производится выборка значений из бд, которые потом направляются пользователю.

Все бы ничего, но один нига взял и запустил через консоль свой рекурсивный аякс запрос, который начал нахлобучивать без остановки мой сервер.

Как спасаться?

Сделал вот так:

if ($_SESSION['user']->update_time + 300 > time()) {
    exit(json_encode(array('stop_limit')));
}
$_SESSION['user']->update_time = time();


Всё вроде бы хорошо работает. Производится проверка грубо говоря: если с момента последнего запроса не прошло 5 минут, то завершаем работу, а если всё ок, то дальше время последнего запроса обновится.

Подскажите, нормальное ли решение или можно как-то лучше сделать?

PS. Данные постоянно разные и для каждого юзера уникальные, кешировать понту не вижу.
  • Вопрос задан
  • 381 просмотр
Пригласить эксперта
Ответы на вопрос 2
@oxidmod
гугли за рейт лимиты
ты по сути самый примитивный и сделал, но что мешает человеку скидывать сессию и слать запрос снова? =)
Ответ написан
@dimuska139
Backend developer
Нужно на уровне Nginx сделать ограничение количества запросов в секунду с IP. Вот тут подробнее.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы