используя PHP или Javascript, как я могу создать тайм-аут, чтобы предотвратить быструю отправку логинов?
Я проверяю форму входа в систему с помощью PHP, подключаюсь к БД, а затем возвращаю true или false, является ли вход действительным и т. д. При неверном входе в систему я подумываю установить файл cookie для тайм-аута входа в систему, который увеличивается на N после количества неудачных попыток входа в систему.
Будет ли печенье лучшим способом? Что делать, если пользователь не включает файлы cookie, как это делаю я? Сеансы сбрасываются в начале страницы входа, поэтому я не могу установить доверенное значение $ _SESSION, плюс пользователь может просто покинуть сайт и вернуться.
Файл cookie - лучший способ?
@BlackNetworkBit Большинство брутфорс-ботов не поддерживают файлы cookie, поэтому сеанс не поможет. Я бы увеличивал значение в db при неудачных попытках, и когда> 10 ограничивает время ответа, поэтому брутфорс просто неэкономичен, они скоро заметят отказ, если для попытки 60 паролей потребуется 60 секунд. Законный пользователь не заметит задержки в 1 секунду.
Если вы проверите, есть ли у пользователя сеанс, прежде чем проверять свои данные для входа, то он работает как шарм
Как бы Вы это сделали? Поскольку session_start () будет просто каждый раз создавать новый сеанс, поэтому у бота всегда будет сеанс.
Просто поместите это в форму. Вы не упомянули, может ли пользователь победить это, отредактировав данные.
Тогда ботам нужно запросить два раза для одного запроса, что, по крайней мере, является решением. вы также можете создать сценарий блокировки ip, который берет ip от пользователя, который пытается войти в систему, и помещает его во временную таблицу, где вы сначала смотрите, прежде чем пытаться войти в систему, чтобы узнать, пробовал ли данный пользователь его с одного и того же ip несколько раз уже.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Переменная $ _SESSION будет лучшим выбором, если у пользователя нет сеанса, тогда ему нужно сначала получить его. После того, как он получит один, он может запросить логин. Затем вы можете сохранить последнюю попытку входа в систему в сеансе и вычислить, когда пользователь сможет снова войти в систему.