@NikSIk31

Как защитить приложение от спама запросами?

Здравствуйте! Сделал форму поиска на сайте где аяксом (fetch) получаю данные с роута php (laravel), так вот все работает, но если быстро нажимать на кнопку отправляется много одинаковых запросов.
Как защититься от такогт спама? Нужно ли это делать и на клиенте и на сервере? Ибо ведь на клиенте скрипт можно изменить.
Подскажите пожалуйста как защититься
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 2
xmoonlight
@xmoonlight Куратор тега PHP
https://sitecoder.blogspot.com
1. Если запрос с клиента не поменялся - выдаём результат из переменной JS (на клиенте).
2. Если отправляют в обход тот же запрос - выдаём кешированный результат на стороне сервера (не выполняя повторный поиск в БД)
3. Если запросы меняют и отправляют часто - ограничиваем время между соседними запросами и их параллельное количество на сервере: при начале поиска проверяем условие превышения частоты и, если всё нормально, в переменную сессии кол-ва активных запросов прибавляем 1-цу (инкремент), перед выдачей - вычитаем 1-цу (декремент). Если частота превышена - сразу возвращаем пустой результат без поиска. Превышена 3 раза - можно и забанить по IP на часик ;)
Ответ написан
alex-1917
@alex-1917
На клиенте блокируй кнопку, там же и валидацию приклеить будет к месту.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SWAN Пермь
от 20 000 руб.
Bold brains Волгоград
от 20 000 до 75 000 руб.
24 авг. 2019, в 11:31
30000 руб./за проект
24 авг. 2019, в 10:59
750 руб./за проект
24 авг. 2019, в 10:41
4000 руб./за проект