Подскажите пожалуйста, как сделать наиболее гостеприимную капчу - чтобы проверка вылазила, например, только при неправильном вводе логина (в случае авторизации), либо при попытке за минуту отправить более 5 сообщений и т.п.?
выводи капчу только при не правильном вводе логина где-то записывай сколько сообщений было отправлено за минуту и если это число больше 5, то выводи капчу
Ну так и сделать. Посчитать в сессии кол-во неправильных логинов, и вывести капчу. А вообще, поставить от гугла новую - она в любом случае ненавязчивая
Я поставил новую от гугла recaptcha, та что обходится лишь галочкой - но это не гостеприимно для пользователей каждый раз заставлять их убеждать сервер, что он не робот. Они еще не успели ничего подозрительного сделать, а тут на тебе.. Теоретически я понимаю, как это сделать. Подскажите, как посчитать количество сессий? Через cookeis как-то? --- Добавлено --- Принцип ясен, почитаю про $ _SERVER и $ _COOKIE, наверное из них можно смастерить такую проверку?
https://secure.php.net/manual/ru/session.examples.basic.php да можно, но её будет очень просто обойти
Мельком глянул - так получается, что просто отключив cookeis можно будет гадить? Есть ли какая-то альтернатива?
да пиши в базу данных. создай отдельную таблицу, где будешь записывать время когда человек пытался залогинится, при это проверяй, если запись была сделана меньше минуты назад, то пребавляй попытки