Выводить captcha после определенного числа попыток

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Sereja3578
Сообщения: 204
Зарегистрирован: 2016.09.21, 11:15
Контактная информация:

Выводить captcha после определенного числа попыток

Сообщение Sereja3578 »

Кто-нибудь в курсе, стандартную капчу можно как-то выводить не сразу, а после определенного числа неудачных запросов? Или надо в сторону reCaptcha от гугла думать?
Аватара пользователя
Sereja3578
Сообщения: 204
Зарегистрирован: 2016.09.21, 11:15
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение Sereja3578 »

Как вариант вижу пока только занесение значений в сессию, при неудачном вводе. Но это кастомное решение. Может по дефолту, что-то есть?
lgXenos
Сообщения: 243
Зарегистрирован: 2015.11.30, 15:42

Re: Выводить captcha после определенного числа попыток

Сообщение lgXenos »

Sereja3578 писал(а): 2017.01.26, 23:40 Как вариант вижу пока только занесение значений в сессию, при неудачном вводе. Но это кастомное решение. Может по дефолту, что-то есть?
Если это обычный юзер - то сессия, куки, IP
Если вас ломают - реКапча, при чем с самого первого запроса, т.к. ломают не браузером и не с одного IP
Аватара пользователя
Sereja3578
Сообщения: 204
Зарегистрирован: 2016.09.21, 11:15
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение Sereja3578 »

Нет, пока не ломают) Просто не хотел сразу заставлять вводить капчу, а хочу сделать так чтобы допустим не могли спамить, типа пару писем отправил и благоволи ввести капчу. Ну и в случае ошибок ввода тоже.
Аватара пользователя
Sereja3578
Сообщения: 204
Зарегистрирован: 2016.09.21, 11:15
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение Sereja3578 »

Пока через сессию. Дальше, если кто, что-то более толковое посоветует поправлю)
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение SiZE »

Sereja3578 писал(а): 2017.01.28, 23:59 Пока через сессию. Дальше, если кто, что-то более толковое посоветует поправлю)
Надо понимать, что собираешься защитить капчей? Дело вот в чем. Представь, форма обратной связи, доступная без регистрации, отправляющая сообщение на почту и сохраняющая в базу. Я отправлю на нее 500 запросов. Как думаешь, твой механизм "не сразу" через сессии сработает?
Аватара пользователя
Sereja3578
Сообщения: 204
Зарегистрирован: 2016.09.21, 11:15
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение Sereja3578 »

Не особо понял. А почему собственно нет? Возможно я чего-то не понимаю, но вот, как я это вижу, и как сейчас работает -

Пользователь заходит на страницу с формой, отправляет первое сообщение - в сессии создается переменная со значением 1, потом отправляет второе сообщение - переменная увеличивается на 1, потом третье, переменная становится равно 3. В представлении проверяем значение этой переменной, и если оно равно 3, выводим капчу. После успешной отправки еще одного письма с капчей, обнуляем переменную. Типа молодец, ты не робот и не спамер.
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Re: Выводить captcha после определенного числа попыток

Сообщение kawabanga »

А что нам мешает грохать сессию после каждой отправки? и получать "бесконечную единицу"?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение ElisDN »

Sereja3578 писал(а): 2017.01.30, 01:28 Не особо понял. А почему собственно нет? Возможно я чего-то не понимаю...
Идентификатор сессии хранится в Cookies. Отключаем их в браузере или отправляем 500 запросов через какой-нибудь CURL с пустыми Cookies. Капча не выводится.
kukuruku
Сообщения: 1318
Зарегистрирован: 2011.02.14, 11:36

Re: Выводить captcha после определенного числа попыток

Сообщение kukuruku »

счас у гугла приятная капча с чекбоксом
можно сразу выводить
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение ElisDN »

kukuruku писал(а): 2017.01.30, 15:16 счас у гугла приятная капча с чекбоксом
можно сразу выводить
https://www.youtube.com/watch?v=fsF7enQY8uI
Аватара пользователя
Sereja3578
Сообщения: 204
Зарегистрирован: 2016.09.21, 11:15
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение Sereja3578 »

ElisDN писал(а): 2017.01.30, 15:18
kukuruku писал(а): 2017.01.30, 15:16 счас у гугла приятная капча с чекбоксом
можно сразу выводить
https://www.youtube.com/watch?v=fsF7enQY8uI

Хахххахахах) Вот так жесть)
Аватара пользователя
Sereja3578
Сообщения: 204
Зарегистрирован: 2016.09.21, 11:15
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение Sereja3578 »

ElisDN писал(а): 2017.01.30, 13:58
Sereja3578 писал(а): 2017.01.30, 01:28 Не особо понял. А почему собственно нет? Возможно я чего-то не понимаю...
Идентификатор сессии хранится в Cookies. Отключаем их в браузере или отправляем 500 запросов через какой-нибудь CURL с пустыми Cookies. Капча не выводится.
Я проверил, понял, что реально косяк. Но, как тогда быть? Я эту плюшку увидел у mail.ru, после отправки нескольких комментариев подряд, вылезает окошко с капчей. Очень уж хочется реализовать подобное. Даже ради интереса. Но если сессия и куки не залог безопасности, то как? Заносить в БД, число запросов от конкретного пользователя?
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение SiZE »

Sereja3578 писал(а): 2017.01.30, 18:59 Заносить в БД, число запросов от конкретного пользователя?
Так мы не выяснили, что за форму ты хочешь защитить )
Аватара пользователя
Sereja3578
Сообщения: 204
Зарегистрирован: 2016.09.21, 11:15
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение Sereja3578 »

SiZE писал(а): 2017.01.30, 20:33
Sereja3578 писал(а): 2017.01.30, 18:59 Заносить в БД, число запросов от конкретного пользователя?
Так мы не выяснили, что за форму ты хочешь защитить )
Да, это форма для отправки сообщений, без авторизации) То есть любой посетитель может написать логопеду.
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Выводить captcha после определенного числа попыток

Сообщение SiZE »

Sereja3578 писал(а): 2017.01.30, 20:50 Да, это форма для отправки сообщений, без авторизации) То есть любой посетитель может написать логопеду.
Поставь просто ограничение на количество отправленных сообщений в какой-то отрезок времени. Например, если через форму отправлено больше 10 сообщений за минуту, выводи капчу, пока не спадет интенсивность.
kawabanga
Сообщения: 806
Зарегистрирован: 2013.10.12, 23:35
Откуда: Новосибирск

Re: Выводить captcha после определенного числа попыток

Сообщение kawabanga »

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