Я строю приложение на PHP с закрытым доступом. Есть два способа входа в систему:
Для предотвращения роботов, выполняющих атаку методом грубой силы, сервер создает сеанс (cookie-файл с session_start), после 4 попыток пользователь должен ждать 5 секунд, прежде чем пытаться снова. Я использую суперглобальную переменную $ _SESSION, чтобы проверить, сколько раз кто-то пытается подключиться.
Я обеспокоен тем, что пользователи не разрешают использование файлов cookie. В этом случае им не придется ждать 5 секунд каждые 4 попытки. Я немного запутался в отношении лучшего способа предотвращения грубой силы:
Спасибо,
Я бы определенно пошел на решение на основе БД. Может быть, заблокировать учетную запись на 2 минуты после 5 неудачных попыток, но это на самом деле просто личное решение. Однако вы, возможно, не захотите блокировать IP-адреса, поскольку многие крупные компании и даже страны общаются с использованием одного NAT-адреса, вместо этого я бы заблокировал счет.
Вы можете взглянуть на
http://www.codedevelopr.com/articles/throttle-user-login-attempts-in-php/
и суди сам.