Логирование в БД

Astral Man

We Will Rock You
Логирование в БД

Привет!

Делаю логирование пользователей в БД, т.е. когда вошел/вышел, разрешен/запрещен доступ и т.д.

Такая проблемка, если пользователь вводит 3 раза не правильно логин/пароль ставится кука на 10 минут, и по истечении этого времени он сможет еще раз попробовать. Когда устанавлевается кука идет добавление записи в БД "Заброкирован (Cookie)"
если нажать F5 то страница обновляется, идет проверка cookie, соответственно куки уже установленны и добавляется запись в БД. Как защитится от частого обновления страницы (нажмет F5 и будет держать, а записи добавляются....)
 

alpine

Новичок
(imho)
Пользователь вводит пароль.
Проверяешь пароль.
Если правильно, кладешь в базу запись иб успешной авторизации.
Если не правильно считешь неудавшиеся попытки за последние 10 мин, если меньше 3-х, кладешь запись об неуспешной авторизации, переправляешь на повторную авторизацию если больше то выводишь сообщение об ошибке и отсылаешь себе письмо.

PS А слово куки забудь! Здесь оно тебе не поможет.
 

Astral Man

We Will Rock You
Автор оригинала: alpine
PS А слово куки забудь! Здесь оно тебе не поможет.
Почему не поможет?
У меня в начале скрипта идет проверка на вкл/выкл cookie.
Если cookie включены продолжаем работать.

Немного поломав голову придумал.
Устанавливается кука count равная 0, и при каждом не верном вводе пароля увеличивается на 1 и пишется лог в базу, как только count >=3 устанавливаем куку block = 1 и time_block = time(), в базу пишем что пользователь заблокирован.

После проверки на вкл/выкл cookie, идет проверка на куку block, если block = 1 показываем пользователю что он заблокирован и время через сколько сможет попробовать еще раз.
 

lucas

Guest
Astral Man

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

neko

tеam neko
не так
надо просто ее не ставить вот и все
и ничего менять не придется
 

Astral Man

We Will Rock You
Автор оригинала: neko
не так
надо просто ее не ставить вот и все
и ничего менять не придется
Как ты предлогаешь отвлеживать пользователей которые сидят за прокси с одинаковым ip?
Как быть в таком случае?
 

macros

Guest
А почему бы сессию не поюзать?
С куками вместе, разумеется
IMXO все вопросы тогда снимаются.
 

Astral Man

We Will Rock You
Можно избавиться от SID`а и всех кук, но что бы это вступило в действие надо перезапустить браузер. По крайней мере IE.
 

neko

tеam neko
еще раз
для тупых
браузер сид шлет добровольно
куки запоминает и шлет добровольно

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

Astral Man

We Will Rock You
Автор оригинала: lucas
Astral Man

Куки можно банально отключить, да?
Если куки отключены скрипт не будет выполнятся дальше, и выдаст предупреждение что куки отключены.
 

neko

tеam neko
а как ты интересно проверяешь что они отключены если кука ставится на 10 минут?
 

Astral Man

We Will Rock You
Автор оригинала: neko
а как ты интересно проверяешь что они отключены если кука ставится на 10 минут?
В начале скрипта идет проверка на вкл/выкл куки, если они вкл. идем дальше
 

neko

tеam neko
и что мешает злоумышленнику после того как он узнает что "дальше" сразу идти дальше минуя твою проверку?
 

neko

tеam neko
ну а как ты проверяешь?

ты пойми я могу слать какие захочу куки
и на твои ответные вообще не реагировать
это вопрос моего личного желания, а не какого-то перезапуска браузера
 
Сверху