Как стать автором
Обновить

Комментарии 28

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

Скажем, если спрашивать только первый раз, то достаточно будет злоумышленнику один раз указать капчу, а затем оставить за себя робота подбирать пароль.
Так в чем проблема отлавливать попытки брутфорса и начинатьп оказывать капчу после 3-4 неправильной попытки.

Я почему-то уверен, что робот с 3 попыток не угадает пароль lksjdh14%^
НЛО прилетело и опубликовало эту надпись здесь
Нередко встречаю обратную реализацию: ввёл пароль 2-3 раза неверно — вводи капчу. Вводить капчу для логина сразу — имхо не блещет рациональностью.
И это правильный подход, по-моему.
Прозреваю, что тогда робот будет три раза пытаться, затем стирать cookies и вдругорядь пытаться. Небезопасно!
Он будет стирать cookies и смотреть на капчу. Потому что первый раз капча таки показывается. И перестает показываться только после правильного набора на время жизни сесси или до подозрительного поеведения (попытка брутфорса пароля, например).
А вообще, чуть выше предложили идеальный вариант. Не показывать сразу капчу. Неправильно ввел пароль пару раз — вводи капчу.
на это и ответил Mithgol:
«Прозреваю, что тогда робот будет три раза пытаться, затем стирать cookies и вдругорядь пытаться. Небезопасно!»
Можно хранить в той-же $_SESSION количество неверных попыток логина, основываясь на которых и отображать капчу.
учи матчасть.

$_SESSION — это те-же куки.
Сначала вы выучите её
Можно поподробней? В чем я неправ?
в том что сессии и куки это не одно и тоже. куки хранятся на стороне клиента, сессии на сервере. вот и всё впринципе.
А как сервер сопоставляет сессию с клиентом просвятите пожалуйста.
либо через куку, либо через PHPSESSID. Не обязательно включать куки чтобы сессии заработали.

может вы мануал прочитаете? phpfaq.ru/sessions
В принципе вы могли не привязыватся конкретно к PHP, в ASP.NET тоже самое, либо кука, либо урл и в JAVA я думаю также. А суть тут в том, что этот самый Id находится в юрисдикции клиента, т.е. в данном случае бота — убил Id значит убил сессию.
убил куку — убил код капчи — значит вводить её заново — применительно к статье
Как я понял ветка началась с сообщения: «А вообще, чуть выше предложили идеальный вариант. Не показывать сразу капчу. Неправильно ввел пароль пару раз — вводи капчу.»
не, ещё одну ступеньку выше )))
В принципе вы могли не привязыватся конкретно к PHP, в ASP.NET

Ну да ))) что-то не подумал что тут впринципе про метод, не привязываясь к языку ))
попытки входа можно хранить не только в куках.

Если их хранить в базе — настоящему владельцу при попытке взлома придется вводить капчу. Или обнулять их через некоторое время. Тогда владелец возможно даже ничего не заметит.
Но тогда всё равно останется возможность подбирать не пароль к логину, а логин к паролю.
> я уже доказал, что я не робот. Зачем мне снова это доказывать?
> Единственное мною пока встреченное исключение — торрент-трекер mininova.org.


Вот тут тоже не надо каждый раз вводить капчу заново.
Еще одно исключение — модуль Captcha для CMF Drupal. Там подобное поведение настраивается.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории