Блокировка
-
- Сообщения: 423
- Зарегистрирован: 2012.12.10, 14:19
- Откуда: Россия
Блокировка
Добрый день, есть необходимость сделать блокирование пользователя который ввел 3 раза не верный пароль или имя пользователя.
Есть:
Форма с 2 полями, собственно имя пользователя и пароль.
Необходимо:
Заблокировать пользователя на 15 мин, если он 3 раза подряд ввел не корректный пароль, или имя. Базу данных использовать не надо.
Предполагаемые варианты решения:
1) Сессии - пользователь легко может очистить куки и не ждать 5 мин
2) Файл - записываем на основании ip-адреса и useragent его данные и сохраняем их в файл, перед этим сериализуя его. Очень напряжно будет, если пользователей будет около 100 000, каждый раз открывать файл, читать, записывать.
Какие у кого есть идеи на эту тему?
Заранее всем спасибо!
Есть:
Форма с 2 полями, собственно имя пользователя и пароль.
Необходимо:
Заблокировать пользователя на 15 мин, если он 3 раза подряд ввел не корректный пароль, или имя. Базу данных использовать не надо.
Предполагаемые варианты решения:
1) Сессии - пользователь легко может очистить куки и не ждать 5 мин
2) Файл - записываем на основании ip-адреса и useragent его данные и сохраняем их в файл, перед этим сериализуя его. Очень напряжно будет, если пользователей будет около 100 000, каждый раз открывать файл, читать, записывать.
Какие у кого есть идеи на эту тему?
Заранее всем спасибо!
Последний раз редактировалось shkarbatov 2012.12.10, 16:47, всего редактировалось 1 раз.
Re: Блокировка
Юзер не может очистить сессии, а только куки. Остается вариант - БД. Записывать в базу IP, дату-время и т.д.
Re: Блокировка
сессии-то по куки распознаются. Вместо БД можно в мемкеш писать IP, UA и прочее
-
- Сообщения: 423
- Зарегистрирован: 2012.12.10, 14:19
- Откуда: Россия
Re: Блокировка
Да, вы правы. То я просто описался.
Просто вопрос даже не в том, где хранить данные, а в том какой алгоритм надежнее и менее грузовый.
Думаю, что лучше всего будет остановиться на сессиях.
Не подскажите, где лучше посмотреть запуск, запись в сессию, считывание из сессии в yii.
Спасибо!
Просто вопрос даже не в том, где хранить данные, а в том какой алгоритм надежнее и менее грузовый.
Думаю, что лучше всего будет остановиться на сессиях.
Не подскажите, где лучше посмотреть запуск, запись в сессию, считывание из сессии в yii.
Спасибо!
Re: Блокировка
Какой смысл вообще в данном случае использовать useragent - вы хотите усложнить жизнь обычным юзерам или все таки исключить брутфорс?shkarbatov писал(а):записываем на основании ip-адреса и useragent его данные
надо сначала четко определится с целями которые вы хотите добиться - никакие данные кроме айпи в случае брутфорса использовать смысла не имеет, в продвинутых случаях и айпи мб разные, поэтому я бы банил по связке айпи+логин.
Если нет возможности использовать мемкэш и подобное, можно на каждую связку айпи+логин создавать отдельный файл в который дописывать время ввода неверного пароля - по этом списку легко банить на сколько надо, удалять устаревшие файлы по крону конечно.
Последний раз редактировалось yan 2012.12.10, 17:13, всего редактировалось 1 раз.
Re: Блокировка
мне кажется странной невозможность использовать мемкеш для 100000+ пользователей
Re: Блокировка
какие могут быть сессии, даже обычный юзер может тупо отключить кукиshkarbatov писал(а): Думаю, что лучше всего будет остановиться на сессиях.
-
- Сообщения: 423
- Зарегистрирован: 2012.12.10, 14:19
- Откуда: Россия
Re: Блокировка
Вопрос чисто теоретический.
100 000 пользователей нет.
Как говорится - разбираем на пальцах.
100 000 пользователей нет.
Как говорится - разбираем на пальцах.
Какие есть предложения?какие могут быть сессии, даже обычный юзер может тупо отключить куки
Re: Блокировка
я предложил вышеshkarbatov писал(а): Какие есть предложения?
-
- Сообщения: 423
- Зарегистрирован: 2012.12.10, 14:19
- Откуда: Россия
Re: Блокировка
Пардон, не заметил сразу, что это был ваш коммент.я предложил выше
Но создавать на каждого пользователя отдельный файл - думаю это слишком.
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: Блокировка
и файловая система загнется при большем потоке, и если на серваке несколько сайтов, то все сессии вместе
Re: Блокировка
большой поток - чего? одновременно тысячи юзеров начнут вводить неправильный ответ? ну для такой системы такое решение конечно не предназначеноlancecoder писал(а):и файловая система загнется при большем потоке, и если на серваке несколько сайтов, то все сессии вместе
а так то на большинстве серверов на пхп, сессии хранятся в файлах, при каждом запросе читают-записываются и ничего работают
Последний раз редактировалось yan 2012.12.10, 20:11, всего редактировалось 3 раза.
Re: Блокировка
слишком из каких соображений? как вы собираетесь использовать один файл, если предполагается сколько-нибудь большая нагрузка?shkarbatov писал(а):Пардон, не заметил сразу, что это был ваш коммент.я предложил выше
Но создавать на каждого пользователя отдельный файл - думаю это слишком.
на самом деле ничего страшного в этом нет, вполне рабочая-проверенная схема
Последний раз редактировалось yan 2012.12.10, 20:10, всего редактировалось 1 раз.
- lancecoder
- Сообщения: 2532
- Зарегистрирован: 2012.06.26, 17:16
Re: Блокировка
удалил куку, зашел, в цикл