Как заставить неавторизованного пользователя вводить капчу для формы авторизации, если он несколько раз ошибся? Как определить, сколько раз он ошибся?

Если делать это через куки, то пользователь ведь может отключить куки? Как обычно это проверяют? По ip? А как определить ip пользователя?
  • Вопрос задан
  • 752 просмотра
Пригласить эксперта
Ответы на вопрос 3
Uwe_Boll
@Uwe_Boll
Я Злой и Страшный Уве Болл в Разработке знаю Толк
Use session Luke
создаешь в массиве session ключ qtyError и присваиваешь ему значение ноль
и когда пользователь вводит пароль не правильно проверяешь в сессии значение ключа qtyError
если больше к примеру 3 выводишь каптчу, если больше 5 выводишь сообщение о том что пользователь временно забанен а значение ключа qtyError увеличиваешь на единицу
Ответ написан
profesor08
@profesor08
При ошибке ввода запиши это в какую-то сессионную переменную. Как только накопится нужное кол-во ошибок, выводи капчу. Данные храни некоторое время.
$_SESSION["pasword-errors"] = [
  [
    "type" => "passwordErorr",
    "time" => "10000000000",
    "ip" => "127.0.0.1"
  ],
  [
    "type" => "passwordErorr",
    "time" => "10000000020",
    "ip" => "127.0.0.1"
  ],
  [
    "type" => "passwordErorr",
    "time" => "10000000040",
    "ip" => "127.0.0.1"
  ]
];
Ответ написан
Комментировать
b0nn1e
@b0nn1e
Alcohol & Ruby on Rails
По ip? А как определить ip пользователя?

Загулите в яндексе.

ИМХО, лучше считать колличество не правильных вводов с одного IP и добавлять капчу по необходимости.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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