Трехкратный ввод пароля

Трехкратный ввод пароля

Как лучше организовать? (По форуму искал честно - не нашел).
Надо, чтобы после третьей неудачной попытки ввода логина и пароля выполнялись какие-то действия. Где хранить информацию о попытках?

Можно использовать передачу переменной через скрытое поле. Можно передачу по ссылке. Но в любом случае это будет видно пользователю.

Не сохранять же значение в файле или базе данных? Или сохранять?..
 
Только ли попытки взлома рекомендуешь сохранять. Или на всякий случай все входы?
 

Yurik

/dev/null
Я бы в таблице юзеров создал поле попытка (1,2,3..) и disabled (Y/N)
При попытке авторизации увеличиваю поле на единичку. Если прошло успешно - сбрасываю в 0. Если неуспешно - смотрю больше двух или нет. Если да - "выполнялись какие-то действия" (например поставить disabled=TRUE).
 

Georgy

Guest
да пиши в сессию кол-во попыток и не парся.

[f]session[/f]
 

Yurik

/dev/null
да пиши в сессию кол-во попыток и не парся
тут вы совсем не правы.
сделал 2 попытки - перегрузил броузер. ещё 2 - перегрузил. Или написал робота который через каждые две попытки будет новый PHPSESSID запрашывать
 
Я бы в таблице юзеров создал поле попытка (1,2,3..)
А не пропадает ли смысл?! Юзеры из таблицы могут входить и так без проблем. Речь ведь о тех, кого нет в таблице зарегистрированных юзеров.
 
Всем спасибо. Вывод ясен.

Количество попыток храню в сеансе. А если их 3, определяю IP и сохраняю в базе для админа.
 

Эмиль

Guest
2 Эдуард
В сессии что-ли хранишь?
Привязка к IP тупа, меняем анонимного прокся....
 

PhpDeveloper

Guest
Эдуард, не знаю зачем тебе нужен именно трехкратный ввод пароля, но если ты заботишся о том, чтобы вражеский робот не cмог подобрать пароль к сайту, то , мне кажется, простче будет выдавать ответ доступ разрешен/запрещен через 1 секунду.

А вообще имей введу, что в принципе, можно и id сессии подобрать.
 
Со всем согласен. Но моя система такова, что вполне достаточно создать хоть какое-то неудобство для проникновения, чтобы попытка взлома потеряла смысл. Поскольку проникновением можно навредить, до без материальной пользы.

А 1 секунда мне нравится, сделаю.
 

RomikChef

Guest
сессии тут никаким боком.
И, объясните мне, ради бога, каким боком все это относится к форуму по mysql?
 

RomikChef

Guest
Что за глупость - использовать сессии???
почему столько людей не умеют думать, и не видят дальше своего носа?
сессия - это то, что пришлет браузер.
и браузер может по своему желанию начинать сессию сколько ему захочется.
тот же робот плевать хотел на твою сессию.
 
Я спрашивал, хранить ли попытки в базе данных (MySQL, наверное). А там перетекли в другое русло
 

RomikChef

Guest
Вопрос защиты от взлома никакого отношения к mysql не имеет.
Учись думать головой - очень в жизни помогает.
 

camka

не самка
Если ты вводишь пароль, то скорее всего вводишь и имя пользователя. Вот и записывай в базу для этого пользователя количество подряд неудавшихся попыток входа. Если больше трех - то соответствующее действие, будь то вечный бан или вежливое предупреждение.
 
Можно лучше, записывать в базу, только если попыток 3. Хранить корректный вход не вижу смысла.
 

RomikChef

Guest
сохранять надо все.
удачный вход? Записал, что удачный.
Неудачный? Записал, что неудачный.
Иначе не узнаешь, что уже третий, а не 300.
 
Сверху