Mr_Sergo
@Mr_Sergo

Слетают данные при очистке cookie. Аналоги?

Здравствуйте!

Есть форма входа на сайт: логин с паролем.
Если юзер ввел неправильно логин или пароль три раза подряд то запускается таймер с обратным отсчетом 5 мин. в течении которых юзеру блокируется доступ к аккаунту.
Это все я реализовал на сессиях php.

Проблема в том что если юзер в течении этих 5 минут очистит куки то он снова получает возможность ввода логина и пароля не дожидаясь окончания 5 минут.
Вопрос, наверное, вы уже догадались в чем: как реализовать эти 5 мин. что бы, как минимум, при очистке куки не сбивался таймер.
Не стал бы просить помощи у "аудитории" но уже три дня бьюсь с этим и ни чего путного найти и придумать не могу. Для меня принципиальной разницы нету на чем это будет реализованно на php или js.

Пробовал через "HTML 5 DOM Storage", но при очистке куки данные слетают. Пробовал через "evercookie", но при очистке куки данные слетают. Не знаю, может я что то неправильно делаю, может в браузерах такая фича давно перестала прокатывать.
Может можно как то, какой то уникальный номер компа, серийник чего то, хеш какой нибудь или какого нибудь железа узнать при помощи скриптов php или js. Или "неубиваемые" куки поставить. Но не верю я что ничего здесь нельзя придумать.

Прошу помощи у вас многоуважаемые гуру php и js.
  • Вопрос задан
  • 318 просмотров
Решения вопроса 1
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Хранить в браузере бессмысленно, так как это чистится так же как и куки.
Варианта 2:
  1. бан по ip, вариант, но смена ip тоже не проблема, да и по ipне получится отсечь конкретного пользователя.
  2. писать timestamp в базу, при логине проверять timestamp и выдавать ошибку


Как вариант можно вывести кнопку "заблокировать аккаунт и выслать мне на почту код разблокировки" или делать это автоматически про n-ной попытке
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Arik
что мешает в таблице с юзерами добавить поле с баном авторизоации? т.е. по логину находите юзера и проверяете до какого времени его заблокировали, а так это все данные открыты и клиент может изменить
Ответ написан
denis_bardak
@denis_bardak
Web Developer
Время бана должно хранится на стороне сервера и никак иначе, лучше наверно сделать такой бан по IP
Ответ написан
Mr_Sergo
@Mr_Sergo Автор вопроса
РЕБЯТ!!!!!
Если это злоумышленник?
Кто то пытается подобрать пароль к моему логину через bruteforce. bruteforce неправильно подбирает пароль 3 раза, скрипт блокирует доступ к аккаунту на 5 минут и Я НАСТОЯЩИЙ ПОЛЬЗОВАТЕЛЬ СВОЕГО АККАУНТА в этот момент пытаюсь попасть в свой аккаунт в течении 5 минут, доступ к моему аккаунту заблокирован. Следовательно как то надо идентифицировать, желательно однозначно, этот компьютер с которого производились эти 3 попытки ввести пароль. КАК ИДЕНТИФИЦИРОВАТЬ ИМЕННО ЭТОТ КОМП?, потому как настоящий пользователь в эти 5 минут может тоже пробовать войти в свой акк.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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