Задать вопрос
@lissoff-1

Как уберечься от слишком частых ajax запросов?

Для обновления данных я использую setTimeout с аякс-запросом, который исполняется раз в 10 секунд во избежании больших нагрузок. Но хрустик покопался в консоли хрома и обнаружил, что юзер может сам сформировывать и отправлять множественный такой запрос с очень коротким интервалом. Мне кажется выход только один, нужно на стороне сервера как-то проверять частоту входящих запросов.

Додумался до такого пока только:

if ($_SESSION['time'] + 10 > time()) exit(json_encode(array('limit')));
$_SESSION['time'] = time();

Подскажите, нормальное ли это решение илии лучше как-то по другому делать?
  • Вопрос задан
  • 324 просмотра
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
glaphire
@glaphire Куратор тега PHP
PHP developer
Можно попробовать готовые библиотеки по ключу "rate limiter"
https://packagist.org/?query=rate%20limiter
Upd. Другой ключ - "throttling/request throttling"
Ответ написан
Комментировать
@Azperin
Дилетант
Server-Sent Events
Ответ написан
Комментировать
@rPman
websocket

Сервер должен сообщать об обновлениях данных клиентам, это наилучшее решение как с точки зрения ресурсов и интернета так и по разработке.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:03
5000 руб./за проект
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект