![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Dima85 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Есть такой скрипт:
В последнее время замечаю иногда с разных IP пытаются подобрать пароль. Вопрос. Помогите пожалуйста усовершенствовать авторизацию. Допустим если 3 раза введен неправильно пароль, IP блокируется на 15-30 минут. Собственно я знаю как это сделать с использованием базы данных, или простых файлов. Куда будут записываться количество попыток авторизации и собственно сам IP. А есть ли возможность это сделать без использования БД или файлов? Поделитесь пожалуйста идеями. |
|||
|
||||
Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: нет Всего: 57 |
Чем сложнее программа - тем больше в ней ошибок.. По-моему все же лучше использовать БД и файлы, если нужно, создавая простые решения, но добиваясь тем самым большей надежности ![]() -------------------- менеджер по кодеврайтингу ![]() |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 1 Всего: 40 |
http -- stateless протокол, приделывайте костыли
|
|||
|
||||
Dima85 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
А еще есть какие либо способы?
Может какой-то другой вид защиты, но что б это было зез поддержки баз данных и файлов. Это сообщение отредактировал(а) Dima85 - 24.7.2009, 22:14 |
|||
|
||||
DaemonSuw |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 11.3.2008 Репутация: нет Всего: 3 |
http://ru.wikipedia.org/wiki/Captcha - используйте ее и не думайте машинном переборе...
Информацию о ip и вызовах вам надо все равно хранить где то, как реализовать счетчик, если не выгружать информацию в бд или файл? по моему никак! Не в куки же пользователю записывать ![]() |
|||
|
||||
gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 2 Всего: 17 |
элементарно, логируй дествия, допустим за послдений 1 час
если не правильно ввели с 3 попыток и если больше определенного времени, то закрой доступ перебора пароля на некоторое время |
|||
|
||||
Dima85 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Как их логировать? Расскажите подробней. Это сообщение отредактировал(а) Dima85 - 24.7.2009, 23:18 |
|||
|
||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 2 Всего: 31 |
Dima85, Да просто... У вас сильно нагруженная авторизация ? если нет - то я предлагаю начать с самого просто решения - DBM файлы.
Что то вроде того
Переменные вы знаете зачем. В случае неудачной аутентификации скармливаете этой функции ip, а она вам возвращает 1 - бан 0 - пока живет. Тест: 100 000 уникальных ключей (айпишников) - размер базы ~ 6 метров. В однопроцессном режиме (без конкуренции за базу) - 9000 проверок в секунду В многопроцессном (8 процессов конкурируют за базу) - 10600 проверок в секунду.. (еще бы, упираемся в flock всего файла) Вообще связка DB_File + flock хреново себя ведет под нагрузкой/при большой базе. В таком случае надежней BerkeleyDB база (нормальную) =) Это сообщение отредактировал(а) sir_nuf_nuf - 25.7.2009, 03:56 |
|||
|
||||
shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: нет Всего: 18 |
sir_nuf_nuf,
![]() ![]() |
|||
|
||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 2 Всего: 31 |
вот блин
![]() |
|||
|
||||
Dima85 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 396 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
sir_nuf_nuf, интересное решение, спасибо.
Но мне хочеться что-то без использования файлов или бд. |
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 2 Всего: 27 |
И без использования компьютера)
-------------------- Died at Life.pl line 21 |
|||
|
||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 2 Всего: 31 |
Dima85, вы используете CGI или mod_perl ?
|
|||
|
||||
KSURi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 2 Всего: 27 |
sir_nuf_nuf, если вы намекаете на то, что при использовании mod_perl можно хранить в памяти, то ведь это до первого рестарта. Не надежно получится.
-------------------- Died at Life.pl line 21 |
|||
|
||||
sir_nuf_nuf |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 6.1.2008 Репутация: 2 Всего: 31 |
KSURi, так ведь это и не банилка. Это что бы слишком часто не ломились. Знаете, как в операционках - ошибся с вводом пароля - 5 сек подожди.. Так и здесь - пару раз ошибся - еще час твои попытки игнорятся.
Проблема не в том.. проблема в том, что у всех чайлдов апача - своя память. А в случае с CGI - эта память еще и существует несколько секунд. Поэтому для хранения в памяти - нужно использовать shmem.. (которая кстати иногда реализуется через файлы отображаемые в память =)) Это сообщение отредактировал(а) sir_nuf_nuf - 27.7.2009, 12:12 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |