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

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

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

Есть ли какое-нибудь решение, например генерировать токен, но только как-то глобально это сделать для всего фреймворка - всех запросов.
  • Вопрос задан
  • 541 просмотр
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Skillbox
    PHP-фреймворк Laravel
    2 месяца
    Далее
  • Яндекс Практикум
    Фулстек-разработчик расширенный
    20 месяцев
    Далее
Решения вопроса 1
@Nc_Soft
1. Надо блочить кнопку после клика
2. Надо лочить запись в бд до апдейта (гуглить по select for update)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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