Блокировка

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Россия

Блокировка

Сообщение shkarbatov »

Добрый день, есть необходимость сделать блокирование пользователя который ввел 3 раза не верный пароль или имя пользователя.

Есть:
Форма с 2 полями, собственно имя пользователя и пароль.

Необходимо:
Заблокировать пользователя на 15 мин, если он 3 раза подряд ввел не корректный пароль, или имя. Базу данных использовать не надо.

Предполагаемые варианты решения:
1) Сессии - пользователь легко может очистить куки и не ждать 5 мин
2) Файл - записываем на основании ip-адреса и useragent его данные и сохраняем их в файл, перед этим сериализуя его. Очень напряжно будет, если пользователей будет около 100 000, каждый раз открывать файл, читать, записывать.

Какие у кого есть идеи на эту тему?

Заранее всем спасибо!
Последний раз редактировалось shkarbatov 2012.12.10, 16:47, всего редактировалось 1 раз.
Аватара пользователя
i80586
Сообщения: 233
Зарегистрирован: 2011.03.05, 20:54
Откуда: Баку
Контактная информация:

Re: Блокировка

Сообщение i80586 »

Юзер не может очистить сессии, а только куки. Остается вариант - БД. Записывать в базу IP, дату-время и т.д.
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Блокировка

Сообщение anton44eg »

сессии-то по куки распознаются. Вместо БД можно в мемкеш писать IP, UA и прочее
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Россия

Re: Блокировка

Сообщение shkarbatov »

Да, вы правы. То я просто описался.

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

Не подскажите, где лучше посмотреть запуск, запись в сессию, считывание из сессии в yii.

Спасибо!
yan
Сообщения: 942
Зарегистрирован: 2011.03.23, 09:28
Откуда: Уфа

Re: Блокировка

Сообщение yan »

shkarbatov писал(а):записываем на основании ip-адреса и useragent его данные
Какой смысл вообще в данном случае использовать useragent - вы хотите усложнить жизнь обычным юзерам или все таки исключить брутфорс?
надо сначала четко определится с целями которые вы хотите добиться - никакие данные кроме айпи в случае брутфорса использовать смысла не имеет, в продвинутых случаях и айпи мб разные, поэтому я бы банил по связке айпи+логин.
Если нет возможности использовать мемкэш и подобное, можно на каждую связку айпи+логин создавать отдельный файл в который дописывать время ввода неверного пароля - по этом списку легко банить на сколько надо, удалять устаревшие файлы по крону конечно.
Последний раз редактировалось yan 2012.12.10, 17:13, всего редактировалось 1 раз.
Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: Блокировка

Сообщение anton44eg »

мне кажется странной невозможность использовать мемкеш для 100000+ пользователей
yan
Сообщения: 942
Зарегистрирован: 2011.03.23, 09:28
Откуда: Уфа

Re: Блокировка

Сообщение yan »

shkarbatov писал(а): Думаю, что лучше всего будет остановиться на сессиях.
какие могут быть сессии, даже обычный юзер может тупо отключить куки
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Россия

Re: Блокировка

Сообщение shkarbatov »

Вопрос чисто теоретический.
100 000 пользователей нет.

Как говорится - разбираем на пальцах.
какие могут быть сессии, даже обычный юзер может тупо отключить куки
Какие есть предложения?
yan
Сообщения: 942
Зарегистрирован: 2011.03.23, 09:28
Откуда: Уфа

Re: Блокировка

Сообщение yan »

shkarbatov писал(а): Какие есть предложения?
:shock: я предложил выше
shkarbatov
Сообщения: 423
Зарегистрирован: 2012.12.10, 14:19
Откуда: Россия

Re: Блокировка

Сообщение shkarbatov »

я предложил выше
Пардон, не заметил сразу, что это был ваш коммент.
Но создавать на каждого пользователя отдельный файл - думаю это слишком.
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: Блокировка

Сообщение lancecoder »

и файловая система загнется при большем потоке, и если на серваке несколько сайтов, то все сессии вместе
yan
Сообщения: 942
Зарегистрирован: 2011.03.23, 09:28
Откуда: Уфа

Re: Блокировка

Сообщение yan »

lancecoder писал(а):и файловая система загнется при большем потоке, и если на серваке несколько сайтов, то все сессии вместе
большой поток - чего? одновременно тысячи юзеров начнут вводить неправильный ответ? ну для такой системы такое решение конечно не предназначено :)
а так то на большинстве серверов на пхп, сессии хранятся в файлах, при каждом запросе читают-записываются и ничего работают
Последний раз редактировалось yan 2012.12.10, 20:11, всего редактировалось 3 раза.
yan
Сообщения: 942
Зарегистрирован: 2011.03.23, 09:28
Откуда: Уфа

Re: Блокировка

Сообщение yan »

shkarbatov писал(а):
я предложил выше
Пардон, не заметил сразу, что это был ваш коммент.
Но создавать на каждого пользователя отдельный файл - думаю это слишком.
слишком из каких соображений? как вы собираетесь использовать один файл, если предполагается сколько-нибудь большая нагрузка?
на самом деле ничего страшного в этом нет, вполне рабочая-проверенная схема
Последний раз редактировалось yan 2012.12.10, 20:10, всего редактировалось 1 раз.
Аватара пользователя
lancecoder
Сообщения: 2532
Зарегистрирован: 2012.06.26, 17:16

Re: Блокировка

Сообщение lancecoder »

удалил куку, зашел, в цикл
Ответить