На Light Allow система регистрации - русские народные загадки... Отсеем всех роботов и иностранцев!!!
А что вы думаете по поводу текстовой капчи с вопросами типа: "Кто сейчас президент России? (Фамилия)" "URL нашего сайта в адресной строке вашего браузера выглядит так: http://webforever.****/ Впишите недостающие 4 буквы." "Про сильный дождь обычно говорят: "Льёт как из *****"" "В одном разделе нашего сайта, под названием "CПРАВОЧНИКИ" расположены справочники HTML тэгов и CSS стилей. Ниже расположен раздел "СТАТЬИ" А как называется раздел, где расположены NEWости?" "Великий русский писатель Толстой написал произвдение "Война и ***"" При этом ответ регистронезависим. А сам механизм примерно таков: В БД есть таблица, у с аутоинкементным ID, самим вопрос м ответом. В начале страницы рандомно выбирается число от 1 до макс текущего id и соотвествющий вопрос выводится на экран, а ответ записывается в переменную сессия. После отправки, проверяется, соотвествет ли введённые ответ значению в сессионной переменной. Сама же сессионная переменная уничтожается тоже в начале страницы, независимо от того, была ли отправка данных через форму или нет. Саму капчу, если кому интресно, пожно тут посмотреть: http://webforever.info/index.phtml?category=kontact Впринципе сайт пока не посещаем, поэтому база вопросов не большая (боты пока не рвутся). Но в приципе, насколько хороша такая защита?
Проблема в том, что: 1. Текст распарсить на 2 порядка проще, чем изображение. 2. Количество вопросов конечно, и гораздо меньше, чем количество капч, генерируемых случайно. То есть - в массовом применении - бессмысленно.
antiKILLER, проблема данной каптчи, может возникнуть из-за того, что вопросов будет не 10000000000, а например, 1000-10000, то такое кол-во вполне берет голодный студент за пару дней. К тому же ИМХО, вопросы вроде "Кто сейчас президент России" придется апдейтить периодически, что раздражает.
Понятно... ну СПС за разьяснения))) Ну в целом в массовом применении-то и не планируется. Просто хочу чтобы мои личные сайты были более менее защищены. (на в крайнем случае можно вопросы просто перефразировать) А что если, например, при выводе вопроса, рандомно заменять некоторые русский символы, на наглийские. Ну я имею ввиду такие, как "а", "с", "е"... конечно это не панацея, но насколько это может усложнить жизнь распознавателей капч. И например, если ещё некоторые символы рандомно заменять картинками, ну например картинкой 3х3 с соотвествующей буквой.
Придумал капчу без капчи ))) Как вам такой алгоритм: в форме на обязательном поле, например на поле ФИО вешается java-скрипт обработчик onKeyPress (при автозаполнении события не возникает) далее скриптом считаем кол-во нажатий клавиш и записываем это значение в скрытое поле. На сервере проверяем: если нажатий меньше 4-х - значит это робот (или очень короткое ФИО, или CTRL+C - в последнем случае можно брать поле которое всегда пишут ручками... напр. дату) Как вариант можно усложнить - просить вводить контрольное слово - в этом случае кол-во нажатий должно ранятся кол-ву букв контр. слова. ИМХО Что бы обойти эту капчу роботу надо найти поле ввода и ввести данные используя системные сообщения типа WM_KeyPress (не помню уже как они точно зовутся) Врятли спамеры будут переписывать движок рассылки... )
S.t.A.M. Но суть работы формы останется той же... При сабмите данные формы передаются на сервер - мы же можем передать аналогичный запрос, который будет включать значение скрытого поля - кол-во нажатий клавиши (которых на самом деле никто не делал). Или я не понял в чем суть?
Cron Согласен. ((( Тогда другой вариант: По каждому нажатию клавиши в поле на обработчике onKeyPress происходит кодирование символа по алгоритму, сгенерированному сервером на основе ключа лежащего в сессии, в скрытое поле вносится результат этого кодирования. т.е. алгоритм кодирования каждый раз разный, он базируется на формуле (их может быть несколько) и неком random-ключе который хранится в сессии. Например ключ '743546' Человек вводит имя: Саша В скрытом поле записывается: ПНрН Далее на сервере происходит сравнение Саша = decode('ПНрН','743546');
Все пролетает для пользователей с отключенным JS, мобильным браузером, альтернативным браузером с кривым JS, просто вышедшим обновлением браузера, которое нечаяннно сломает проверочный функционал...
Горбунов Олег Я думал об этом... Если JS отключен, можно сделать проверку на JS и если его нет вывести стандартную замороченную капчу... а мобилы и левые браузеры потянут т.к. простейший java-скрипт без заморочек
S.t.A.M. У меня на смартфоне стоит миниОпера - так она далеко не все, даже самые простые скрипты тянет. Почему не знаю, но ругается очень часто даже на обычные счетчики
А почему капча должна обязательно быть буковкам и циферками? ПОчему нельзя вывести 6 лиц, 2 из которых например мужики и 4 женщины и попросить выбрать только мужиков?
Кстати Олег - а можно ваш скриптик антикапчи еще раз где нить выложить, а то времени много прошло - на старом месте уже нету
А зачем их искажать? Вряд ли алго такой будет, который мужиков и женщин будет различать. Да и если будет, слишком это нагрузочно. А база картинок - да вон отпарсить love.mail.ru и будет база картинок юзерпиков.
Меня вот интересует такой вопрос - у клиентов сайтец на укозе. Там капча такая http://www.ntsural.ru/secure/ - насколько сложно такую сломать? А то у нас чет юзеров левых появлятсья стало много - не сломали ли?
Если у Вас будет с десяток мужиков и женщин, то спамеру не составит труда посидеть 5 минут и указать боту где мужик, а где женщина. Ага... а еще можно в подзорную трубу подглядывать за соседками, фоткать их сиськи, и выкладывать фотки в каптчи с просьбой определить размер.
Kreker Да уж, учитывая разнообразие контрольных слов... Может это заглушка типа "каптча временно не работает"? Здесь никто еще не предлагал использовать в качестве фонового рисунка для каптчи какую-нибудь ххх картинку, и проверять результат по типу "если набрано правильно - значит, это не мужыг"?
Dagdamor Ан-нет, я был не прав. Сейчас большинство изменило алгоритм: если раньше на каждую загрузку выдавали новый код, то теперь он расчитан на 1 попытку и не зависит от обновлений. В этом кроется и зло - если картинку расшифровать не сможешь, то обновление страницы не поможет (кнопок "изменить картинку" - нет) и придется забыть о регистрации на полчаса, пока сессия не убьется...