Задать вопрос

Как в laravel сделать защиту от flood attack?

Есть кнопка на ней висит обработчик по нажатию на эту кнопку. В обработчике POST ajax запрос.
Проблема в том, что если успеть нажать на эту кнопку несколько раз, то и запрос отправится несколько раз(всегда засчитывалось только 2 запроса).
Сам запрос делает запись в таблицу - начисляет деньги и получается так, что он начисляет 2 раза на один и тот же счет. После выполнения запроса у счета меняется статус на "зачислен" и он не может выполниться больше, но те 2 раза проходят.

Есть ли какое-нибудь решение, например генерировать токен, но только как-то глобально это сделать для всего фреймворка - всех запросов.
  • Вопрос задан
  • 539 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
@Nc_Soft
1. Надо блочить кнопку после клика
2. Надо лочить запись в бд до апдейта (гуглить по select for update)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы