@Artem0071
Безработный mr. Junior

Как делают такие ограничения?

На многих сторонних АПИ есть ограничения на количество запросов
Например, 100 запросов в час, 1000 в день и тд

Как делают такие ограничения?
Допустим я на бекенде использую PHP

Ну допустим можно хранить в memcache приходящие запросы
Не много ли это получится нужно будет выделять памяти на это, если все считать отдельно?
Либо они записывают в БД, а потом считают (но это как то слишком затратно)
  • Вопрос задан
  • 418 просмотров
Пригласить эксперта
Ответы на вопрос 3
dimonchik2013
@dimonchik2013
non progredi est regredi
API key сузит миллиард адресов до пяти тысяч
Ответ написан
JhaoDa
@JhaoDa
LaravelRUS Team
Да, так и делают. Например, в Laravel.
Ответ написан
Комментировать
@miksir
IT
Вы определитесь с целью.

Если вы хотите давать разные виды доступа (с разными лимитами) разным пользователям - то да, считать. Не по IP, конечно, а по ключу/логину и т.п. Хранить в базе соответствующие показатели, накапливать запросы и пересчитывать счетчики с какой-то периодичностью. Если нагрузка мала - можно и на каждый запрос считать.

Если цель - защитить скрипт от флуда - это делается на уровне веб-сервера или даже фаирвола. Но в таких случаях не стоят задачи "до 1000 запросов в день", там стоят задачи "N запросов в секунду". Для nginx, например, модуль ngx_http_limit_req_module.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы