Комментарии 133
Для Honeypot captcha есть модификация со случайными названиями полей (id), включая 1-2 «ложных» поля — это еще больше усложняет жизнь спамеру.
Спасибо за перевод — хороший уровень!
Спасибо за перевод — хороший уровень!
Благодарю за приятный отзыв, как я уже говорил, это мой первый подобный перевод.
И перевел я на одном дыхании — потратил где-то 14 часов, практически не поднимая задницы со стула. Узнал много новых фразеологизмов и идиом. Даже гугл-транслейтер (которым я иногда пользовался, когда не понимал, что значит то или иное выражение) не знает, что coiner — это не только фальшивомонетчик или квалифицированный работник монетного двора, это еще и кто-то, кто является источником какой-то новой информации. Такие дела.
И перевел я на одном дыхании — потратил где-то 14 часов, практически не поднимая задницы со стула. Узнал много новых фразеологизмов и идиом. Даже гугл-транслейтер (которым я иногда пользовался, когда не понимал, что значит то или иное выражение) не знает, что coiner — это не только фальшивомонетчик или квалифицированный работник монетного двора, это еще и кто-то, кто является источником какой-то новой информации. Такие дела.
Да, «coined a term» — «придумал термин», а переводя по отдельности это — «отчеканил срок» :-)
Слушайте, 14 часов работы без отрыва — это серьезно! Расскажете свой рецепт вхождения «в поток»?
Слушайте, 14 часов работы без отрыва — это серьезно! Расскажете свой рецепт вхождения «в поток»?
Поставить RescueTime и честно ему отвечать на вопрос «чем ты занимался» после отсутствия. Потом по первым его отчетам станет стыдно (перед самим собой), куда время тратишь, и будешь работать подольше. Я по отчетам этого RT на программирование трачу 12 часов в день в среднем за последние 3 месяца (сегодня вот расслабился, на Хабр зашел, 12 часов не наберу :)
Помимо гуглтранслейта есть онлайн-словарь с просто огромнейшей базой: мультитран, все различные фразеологизмы, включая редкие, и различные научные технические словосочетания я смог там найти.
Вы озвучили то, что я думал, пока читал статью. Можно же именовать поля формы случайными последовательностями букв и цифр, и даже называть их вразброс (поле для имени — email, поле для пароля — name и т.п.) и регулярно менять местами id'шники. Кроме того ввести невидимую капчу, которая будет называться «captcha». И если в ней появится значение, то это явно бот. Заодно можно проверить, не ввел ли он куда-нибудь не то, что надо, например в поле для имени строку со знаком @.
на самом деле, учитывая всеобщее игнорирование или незнание правил русского языка (для русскоязычной аудитории) идеальным вариантом капчи можно назвать словарный диктант. Например, как правильно написать: «продам дешево» или " продам дешего", «гулять по шасэ» или гулять по шоссе", «красивая аллея» или «красивая алея». Если выбран верный вариант — скорее всего парсится робот )))
Спамерские тулзы могут использовать встраиваемый IE, т.е. парсить html реальным браузером, выполнять скрипты, возить мышкой, учитывать видимость полей и т.д. Я таких не видел (на моих сайтах с динамическими JS-формами они не отметились), но раз есть всякие не-спамерские RoboForm'ы, то и спамерские должны быть :)
Но как они смогут заполнить поле, если не знают, куда какой текст вводить?
Мы говорим о спаме в комментариях на веб-страницах? Тогда там обычно всего одно поле (как здесь на хабре).
Изредка просят ввести еще email, тогда где-нибудь около этого поля в html так и написано «email», иначе человек, как и бот, не догадается, что туда надо email вводить. Не хватало еще капчей титлы полей рисовать :)
Изредка просят ввести еще email, тогда где-нибудь около этого поля в html так и написано «email», иначе человек, как и бот, не догадается, что туда надо email вводить. Не хватало еще капчей титлы полей рисовать :)
Очень интересно, спасибо.
В принципе, обо всех этих методиках слышал, но не в одной статье сразу, с описание плюсов и минусов и хоть какого то сравнения
В принципе, обо всех этих методиках слышал, но не в одной статье сразу, с описание плюсов и минусов и хоть какого то сравнения
Открывал статью с мыслью что очередной умник придумал «самую лучшую в мире каптчу».
Вы перевернули мои ожидания :) Отличная обзорно-аналитическая статья и отличный перевод!
Вы перевернули мои ожидания :) Отличная обзорно-аналитическая статья и отличный перевод!
Есть такая мысль, что лучше бы та же reCaptcha собирали просто сабмиты форм, анализировали (сопоставление имя поля и его значение) и данные отправителя (ip, user agent, etc). Таким бы образом можно было собрать blacklist и просто выдавать сообщение об ошибке, что данные компьютер рассылает спам, если вы считаете что это ошибка сообщите по урл. Собственно что-то вроде блеклиста для подозрительных сайтов. Только в данном методе никаких проблем для пользователя сайта не возникает, если конечно он не нахватал полный компьютер троянов, но другие ведь не должны из-за него страдать.
А ещё лучше это же api, он возвращает в % вероятность что данный сабмит является спамом. Администратор сайта уже сам из полученных данных решает что ему делать с этими данными, возможно добавить если это комментарий или статья на перемодерацию, а если порог меньше допустимого, то сразу для публичного добавления. Как-то так. Не знаю как работают подобные упомянутые системы в статье, но считаю описанный вариант единственным правильным решением. Всё остальное распознаётся если не роботом, то человеческим трудом через специальные сервисы и стоит он очень дешёго.
Масса народу работает через NAT'ы, когда за одним IP сидят сотни народу (а в случае мобильных операторов и тысячи), и тогда один веб-спамер в такой сетке испортит малину сразу всей толпе на этом IP. Если в случае почтовых RBL это еще можно вынести (не каждый пользователь за NAT'ом ставит себе почтовый сервер :), то для веба черный список ip/ua скорее вреден.
у которой так же есть еще одна «фича» — помощь в оцифровке книг силами пользователей.
Меня всегда интересовало — как это? Серверу же уже известны верные слова в капче, иначе бы любое слово было бы признано верным.
Не-а. Сервер сравнивает результат пользователя с результатом OCR, так же выбираются слова, перед и после которых все уже определенно прочитано. Ну и текстовый анализатор дает оценку, подходит ли ответ пользователя или нет. Кстати, насколько помню, часто можно не вводить первое слово (или ввести чепуху), не знаю, почему.
Никогда не думал, что все так запутанно. Думал все эти картинки со словами генерируются на сервере. Спасибо за интересную информацию.
Если внимательней присмотреться, то первое слово всегда «корявее» второго. Его-то и нужно «оцифровать».
Т.е. вы ввели 2 слова с картинки, первое пошло в базу по оцифровке, второе (которое сервер изначально снал и сгенерировал) используется при проверке.
Именно поэтому можно «ввести чепуху» для первого слова — оно не учитывается при валидации сабмита.
Разбор же происходит так: непонятное роботу слово показалось 100 пользователям, 90% из них «сообщили», что это слово — "****" — значит можно верить.
Т.е. вы ввели 2 слова с картинки, первое пошло в базу по оцифровке, второе (которое сервер изначально снал и сгенерировал) используется при проверке.
Именно поэтому можно «ввести чепуху» для первого слова — оно не учитывается при валидации сабмита.
Разбор же происходит так: непонятное роботу слово показалось 100 пользователям, 90% из них «сообщили», что это слово — "****" — значит можно верить.
У reCaptcha не зря показывается два слова — одно из них точно известно серверу, второе нет. Неизвестное показывается многим пользователям, после чего выбирается правильный вариант ;)
Отличный текст, спасибо
Обязательно добавлю в закладки и вынесу данную тему на осеннюю конференцию в университете
Обязательно добавлю в закладки и вынесу данную тему на осеннюю конференцию в университете
По поводу друзей — капча недоступна людям, не умеющим распознавать лица (см. www.faceblind.org/ )
Абсолютно верно, что идеальная капча — отсутствующая. Не ставлю у себя нигде эту жуть, просто модерирую мусор там, где это нужно. У нас половина пользователей вообще не в состоянии разобрать ее. Даже я, свободно владея заморской мовой, и то не могу порой разобрать. Чего уж про обычных людей говорить.
Для себя нашел идеальную капчу: «3+4 = ?»
Поясню:
Этой проверки хватает, чтоб закрыть сайт от роботов, ктороые просто шукают в просторах формы для поста.
Если ресурс не большой — никто специально переписывать робота под него никто не будет, ибо в большинстве случаев за ними вообще никто не следит. А напишут — поменяем на «три + 4 = ?».
А для пользователей — это элементарная операция, на которую он потратит меньше секунды (и никак не 10, как писалось в статье)
Поясню:
Этой проверки хватает, чтоб закрыть сайт от роботов, ктороые просто шукают в просторах формы для поста.
Если ресурс не большой — никто специально переписывать робота под него никто не будет, ибо в большинстве случаев за ними вообще никто не следит. А напишут — поменяем на «три + 4 = ?».
А для пользователей — это элементарная операция, на которую он потратит меньше секунды (и никак не 10, как писалось в статье)
Абсолютно та же история, только у меня 3-5 вопросов вида «Кто придумал таблицу Менделеева», выскакивающих рандомно :-)
обычно дял каждого форума первый проход осуществляет человек, записывая правильные ответы, а потом уже ботскрипт генерит там пачку аккаунтов, что бы постепенно их использовать под спам.
против этого вашь способ не подходит.
у нас стоит ряд цифр и вопрос выберите среднее число — первый месяц было хорошо, потом видимо кто-то руками прошел и стали опять пустые регистрации идти.
против этого вашь способ не подходит.
у нас стоит ряд цифр и вопрос выберите среднее число — первый месяц было хорошо, потом видимо кто-то руками прошел и стали опять пустые регистрации идти.
Дык от этого никак не защититься…
Даже придумай вы самую заумную капчу — пишеться скрипт для автозаполнения всех форм, садится индусик, который будет ток вбивать эту самую капчу…
Меня мой способ спала на форме обратной связи! от сообщений типа «проститутки москвы».
Даже придумай вы самую заумную капчу — пишеться скрипт для автозаполнения всех форм, садится индусик, который будет ток вбивать эту самую капчу…
Меня мой способ спала на форме обратной связи! от сообщений типа «проститутки москвы».
у меня был проект небольшой, была простейшая капча, которую проходил любой бот, в основном в связи с тематической направленностью проекта, меня «проспамивали» именно сеошники, проставляя сотни ссылок в гесте и каментах, но идея была в том, что раз в неделю все коменты содержащие ссылки собирались, парсились, каждая ссылочка проверялась в гугле на предмет массовости, если оказывалось, что я не один такой счастливчик, то в сервис спамрепорта гугла, яндекса, яху и пр. формировались письма с просьбой обратить внимание на данных товарищей, обычно заканчивалось абсолютной аннигиляцией сиих творений из выдачи с фильтром(яндекс) или баном(гугл). в итоге оставалось только клацнуть на пимпе — Удалить каменты.
Спам не является проблемой пользователей, это проблема людей, администрирующих сайт. Это очень высокомерно со стороны администраторов – сваливать такую проблему на плечи пользователей сайта.
В точку! Сам отказался от капчи на сайте.
мне как то приходила в голову идея сделать капча на основе оптических иллюзий, которые может видеть только человек, в силу несовершенства своего мозга, но так и не придумалось достойной реализации.
Такая концепция — плевок в сторону людей с проблемным зрением.
Cогласен, но ведь есть много текстовых капча, которые и зрячему то трудно разобрать! Так что сама идея не идеальна, нужен новый вектор.
да любая капча плевок в их сторону поэтому и делают дополнительную аудио подсказку на крупных ресурсах.
И как же будет звучать подобная аудиоподсказка для вашей концепции? D:
«Перед вами четыре линии, пересекаемые еще четырьмя линиями. Они кажутся не параллельными. Параллельны ли они?»
«Перед вами четыре линии, пересекаемые еще четырьмя линиями. Они кажутся не параллельными. Параллельны ли они?»
Да любая капча плевок в сторону людей вообще. С какой стати человек должен доказывать роботу (серверу), что он человек, а не робот? Пусть робот доказывает, что он человек, если хочет пользоваться человеческими правами (постить на сайты). Если докажет, значит достоин постить, на текущем уровне технологии :)
вы, простите, бред какой-то пишете.
как вы определите, что это робот, что бы заставить только его что-то доказывать?
как вы определите, что это робот, что бы заставить только его что-то доказывать?
Это дело сервера разбираться с этим. Вы когда электронное письмо в почтовом клиенте (Thunderbird'е, Outlook'е) пишете, не доказываете же ему, что вы человек. С вашими (и спамерскими) письмами разбирается принимающая сторона — если она умеет (сама, без CAPTCH'а) отличать людей от роботов, то читает почту, если не умеет, то коллекционирует спам. Чем веб-сервер хуже почтового сервера? По-моему, ничем. Веб-серверу даже намного проще — веб-спам пока еще не так распространён, плюс в вебе обычно требуют регистрации при отправке, плюс в вебе на клиентской стороне браузер с javascript'ом, с которым сервер может вступить в произвольный «диалог» невидимо для пользователя (тут это уже обсуждалось), плюс не существует никаких стандартов на формат поста (в отличие от SMTP и MIME в почте) и т.д. В общем, жизнь у веб-спамера намнооого сложнее, чем у почтового. И если при всём этом хозяин сайта вынуждает пользователей разгадывать загадки, то это лишь говорит о его (хозяина) технической слабости.
> Это дело сервера разбираться с этим.
вот-вот, я об этом вас и спрашиваю, как вы научите сервер отличать.
> Вы когда электронное письмо в почтовом клиенте (Thunderbird'е, Outlook'е) пишете, не доказываете же ему, что вы человек.
плохой пример, в сети 95% сообщений это спам, и именно из-за того, что отличить его ни почтовая программа, ни сервер не в состоянии.
> Чем веб-сервер хуже почтового сервера?
вообще то он получше в некоторых вещах, но судя по всему вы в этом не разбираетесь.
> плюс в вебе обычно требуют регистрации при отправке,
в почте то же — и толку? :)
> плюс в вебе на клиентской стороне браузер с javascript'ом
да где же? у меня везде перманентно отключен.
не говоря уж об исторических компьютерах и текстовых браузерах.
> плюс не существует никаких стандартов на формат поста (в отличие от SMTP и MIME в почте) и т.д.
формат поста фактически так же стандартизирован на уровне протокола общения сервра веб как и протокола smtp.
> В общем, жизнь у веб-спамера намнооого сложнее, чем у почтового. И если при всём этом хозяин сайта вынуждает пользователей разгадывать загадки, то это лишь говорит о его (хозяина) технической слабости
вы утверждаете, что у вас есть «серебрянная пуля», только вы никому не рассказываете, как же так уникально настроить, что бы спам пропал. обманываете значит…
вот-вот, я об этом вас и спрашиваю, как вы научите сервер отличать.
> Вы когда электронное письмо в почтовом клиенте (Thunderbird'е, Outlook'е) пишете, не доказываете же ему, что вы человек.
плохой пример, в сети 95% сообщений это спам, и именно из-за того, что отличить его ни почтовая программа, ни сервер не в состоянии.
> Чем веб-сервер хуже почтового сервера?
вообще то он получше в некоторых вещах, но судя по всему вы в этом не разбираетесь.
> плюс в вебе обычно требуют регистрации при отправке,
в почте то же — и толку? :)
> плюс в вебе на клиентской стороне браузер с javascript'ом
да где же? у меня везде перманентно отключен.
не говоря уж об исторических компьютерах и текстовых браузерах.
> плюс не существует никаких стандартов на формат поста (в отличие от SMTP и MIME в почте) и т.д.
формат поста фактически так же стандартизирован на уровне протокола общения сервра веб как и протокола smtp.
> В общем, жизнь у веб-спамера намнооого сложнее, чем у почтового. И если при всём этом хозяин сайта вынуждает пользователей разгадывать загадки, то это лишь говорит о его (хозяина) технической слабости
вы утверждаете, что у вас есть «серебрянная пуля», только вы никому не рассказываете, как же так уникально настроить, что бы спам пропал. обманываете значит…
> плохой пример, в сети 95% сообщений это спам, и именно из-за того, что отличить его ни почтовая программа, ни сервер не в состоянии.
В вашей почте 95% спам? В моей 0.01%. Я думаю, что у большинства тоже не много. Именно из-за того, что почтовые серверы уже достаточно хорошо его фильтруют.
>> плюс в вебе обычно требуют регистрации при отправке,
в почте то же — и толку? :)
Нет! По SMTP почту можно отправлять без регистрации (на MX только без регистрации и отправляют), «но судя по всему вы в этом не разбираетесь».
> только вы никому не рассказываете, как же так уникально настроить, что бы спам пропал.
На эту тему уже «всё придумано до нас». www.eserv.ru/StatisticalSpamFiltering
В вашей почте 95% спам? В моей 0.01%. Я думаю, что у большинства тоже не много. Именно из-за того, что почтовые серверы уже достаточно хорошо его фильтруют.
>> плюс в вебе обычно требуют регистрации при отправке,
в почте то же — и толку? :)
Нет! По SMTP почту можно отправлять без регистрации (на MX только без регистрации и отправляют), «но судя по всему вы в этом не разбираетесь».
> только вы никому не рассказываете, как же так уникально настроить, что бы спам пропал.
На эту тему уже «всё придумано до нас». www.eserv.ru/StatisticalSpamFiltering
> В вашей почте 95% спам? В моей 0.01%.
снаружи почтового сервера 95% спама.
> Именно из-за того, что почтовые серверы уже достаточно хорошо его фильтруют.
фильтруют вовсе не почтовые сервера, а отдельно настраиваемые пачки фильтров, которые от сервера к серверу отличаются, и зависят только от упорности администратора. и технически только часть из этого потока действительно классифицируется как спам, остальное — всякие вероятностные фильтры, которые не дают четкого ответа.
> По SMTP почту можно отправлять без регистрации
а можно и с регистрацией. это как в вашем случае с сайтом, регистрацию может пройти человек, и дальше использовать механизм спамбота.
> На эту тему уже «всё придумано до нас». www.eserv.ru/StatisticalSpamFiltering
а, банальный баес, который уже столько же лет как существует, столько же и обманывается спамерами. если бы вы пользовались только им, сейчас у вас ящик был бы завале наполовину спамом.
снаружи почтового сервера 95% спама.
> Именно из-за того, что почтовые серверы уже достаточно хорошо его фильтруют.
фильтруют вовсе не почтовые сервера, а отдельно настраиваемые пачки фильтров, которые от сервера к серверу отличаются, и зависят только от упорности администратора. и технически только часть из этого потока действительно классифицируется как спам, остальное — всякие вероятностные фильтры, которые не дают четкого ответа.
> По SMTP почту можно отправлять без регистрации
а можно и с регистрацией. это как в вашем случае с сайтом, регистрацию может пройти человек, и дальше использовать механизм спамбота.
> На эту тему уже «всё придумано до нас». www.eserv.ru/StatisticalSpamFiltering
а, банальный баес, который уже столько же лет как существует, столько же и обманывается спамерами. если бы вы пользовались только им, сейчас у вас ящик был бы завале наполовину спамом.
>снаружи почтового сервера 95% спама.
Ну так и снаружи веб-сервера 90% спама.
Угу, банальный байес. Пользуюсь только им уже лет 8 (как раз описанным в статье PopFile), никаких проблем. Точнее, 1-2 спам-письма в день попадает таки в inbox, но это такой спам, который действительно очень похож на не-спам :)
Ну так и снаружи веб-сервера 90% спама.
Угу, банальный байес. Пользуюсь только им уже лет 8 (как раз описанным в статье PopFile), никаких проблем. Точнее, 1-2 спам-письма в день попадает таки в inbox, но это такой спам, который действительно очень похож на не-спам :)
> Точнее, 1-2 спам-письма в день попадает таки в inbox,
небольшой сервер? нет переписки с англичанами, итальянцами, китаем?
Итак, ваше предложение — отмена регистрации (или только капчи?) и прогон всех сообщений через баес?
Боюсь реальные люди перестанут иметь возможность писать на такой форум. Не пройдут проверку против в десятеро большего количества спамеров забивающих баес цитатами из библии, льва толстого и т.п.
небольшой сервер? нет переписки с англичанами, итальянцами, китаем?
Итак, ваше предложение — отмена регистрации (или только капчи?) и прогон всех сообщений через баес?
Боюсь реальные люди перестанут иметь возможность писать на такой форум. Не пройдут проверку против в десятеро большего количества спамеров забивающих баес цитатами из библии, льва толстого и т.п.
Да, сервер небольшой — около сотни наших ящиков плюс около 50тыс. партнерских (на наших доменах). Переписка с иностранцами есть, т.к. продаем наш софт через интернет с 1997 года. Английская, итальянская и китайская версии есть, клиенты оттуда тоже, но переписываемся со всеми по-английски, китайский не понимаем. До 2008го года в сервере даже фильтр на китайскую кодировку стоял, при обновлении сервера он (фильтр) пропал, но больше спама от этого не стало.
Я не предлагал отмену регистрации, я предлагал не насиловать людей капчами. Не так страшен спам, как его малюют.
Да, спам с цитатами из классиков проходит через байес. Раз в год. Почему-то не любят их спамеры. Хотя мы почитать не против :) До сих пор вспоминаю замечательную подборку из Тютчева, присланную одним спамером года 3-4 назад нам в техподдержку. Что он там рекламировал я не помню, а стихи хорошие.
Я не предлагал отмену регистрации, я предлагал не насиловать людей капчами. Не так страшен спам, как его малюют.
Да, спам с цитатами из классиков проходит через байес. Раз в год. Почему-то не любят их спамеры. Хотя мы почитать не против :) До сих пор вспоминаю замечательную подборку из Тютчева, присланную одним спамером года 3-4 назад нам в техподдержку. Что он там рекламировал я не помню, а стихи хорошие.
Появилась у мну одна идея «невидимой капчи»… А именно — мышь.
Ведь из браузера можно получить координаты мыши в окне! Так вот, у ботов они с вероятностью 99,9% будут иметь значение 0,0. И у 99,9% пользователей мышь там находиться наоборот не будет.
Итак, мы просто подписываем отправляемые данные с помощью какого то рендомного ключа и координат мыши! На стороне сервера вычисляем аналогичный хэш, но с координатами 0,0. Если хэши совпадут — айайай, господин спамер, не пущаем!
У этого метода есть два серьёзных минуса:
1. Он требует яваскрипт. Без яваскрипта этот метод не сработает вообще никак
2. Он требует серьёзной обфуксикации кода, который формирует этот хэш.
Ведь из браузера можно получить координаты мыши в окне! Так вот, у ботов они с вероятностью 99,9% будут иметь значение 0,0. И у 99,9% пользователей мышь там находиться наоборот не будет.
Итак, мы просто подписываем отправляемые данные с помощью какого то рендомного ключа и координат мыши! На стороне сервера вычисляем аналогичный хэш, но с координатами 0,0. Если хэши совпадут — айайай, господин спамер, не пущаем!
У этого метода есть два серьёзных минуса:
1. Он требует яваскрипт. Без яваскрипта этот метод не сработает вообще никак
2. Он требует серьёзной обфуксикации кода, который формирует этот хэш.
Я, как перфекционист, терпеть не могу когда используют «99.9%». Это же надуманная цифра, в крайне редких случаях она действительно доказана.
Используйте выражение «подавляющее большинство» и ему подобные, все таки так правильнее :)
Используйте выражение «подавляющее большинство» и ему подобные, все таки так правильнее :)
Кроме того, чтобы проверять координаты мыши, нужно принять во внимание, двигает ли мышью пользователь? А в случае взлома каптчи (можно программно изменять координаты указателя): плавно ли?
Кстати да, я когда регистрируюсь на всяких мусорных сайтах в поисках необходимой, но редкой информации, пользуюсь табуляцией.
Я и в не мусорных сайтах пользуюсь табуляцией, но вероятность того, что мышь будет в координатах {0, 0} крайне мала.
Если сайт хоть минимально востребован (или такая капча получит хоть минимальное распространение), то боты будут подставлять случайные координаты мыши.
Отличная статья! Спасибо!
Отличная статья и перевод превосходный!
Не согласен только с одним утверждением о том, что капча нужна только для защиты от спама и в идеале от нее стоит избавиться. Не учтен брутфорс к формам авторизации. Есть способы защиты от подобных действий без капчи, но что если все-же там сидит человек (в моем случае спамер-человек не рассматривается как угроза) и, скажем, 3 раза неверно ввел свой пароль… вот тут и надо ему показать капчу, да такую, чтобы впредь вводил пароль правильно с трех попыток.
Не согласен только с одним утверждением о том, что капча нужна только для защиты от спама и в идеале от нее стоит избавиться. Не учтен брутфорс к формам авторизации. Есть способы защиты от подобных действий без капчи, но что если все-же там сидит человек (в моем случае спамер-человек не рассматривается как угроза) и, скажем, 3 раза неверно ввел свой пароль… вот тут и надо ему показать капчу, да такую, чтобы впредь вводил пароль правильно с трех попыток.
Мне казалось что фейсбук предлагает определить фотки друзей, которые отмечены на _ваших_ фотках, то есть тех, которые вы сами там понаотмечали. Хотя не уверен.
Я отсеиваю 80-90% спама текстовой капчей с русскими загадками.
При необходимости можно подключить Mollom.
При необходимости можно подключить Mollom.
Странно, но почему-то про использование капчи в качестве (некоторой) защиты от подбора пароля к аккаунтам не рассказывается.
Недавно, для защиты от массовых регистраций (отсекания нехороших ip-адресов), использовал API сервиса www.stopforumspam.com/ и довольно успешно.
Недавно, для защиты от массовых регистраций (отсекания нехороших ip-адресов), использовал API сервиса www.stopforumspam.com/ и довольно успешно.
Не рассмотрен альтернативные вариант — доверенные пользователи. То есть люди, которые бы получили сертификат привязанный к мобильнику могли бы не вводить капчу.
Скажите, а нельзя на создание капчи посадить нейронку? То есть имеется алгоритм, который создаёт абсолютно разные капчи, затем набор экспертов оценивает их читаемость, выставляет оценки каждой капче, система обучается, а потом выдаёт капчи, похожие на те, что читаются лучше всего?
те, что читаются лучше всего они и распознаются спам ботами быстрее всего. самое сложное найти компромисс между читаемостью с распознаваемостью.
Мне кажется или до сих пор никто не подумал о создании captcha из 2 и больше картинок?
Приведу пример на 2х картинках:
captcha.php
Итог:
По идее при такой капче даже хрумеру->антигейту будет сложно разобрать её.
А можно увеличить кол-во картинок до 3-4-5 и так далее…
Приведу пример на 2х картинках:
<?php
session_start();
?>
<img src="captcha.php?step=1" /><img src="captcha.php?step=2" />
<form method="post">
Введите число: <input type="text" name="getСode">
<input name="sub" type=submit value="Ввод">
</form>
<?php
if(isset($_POST['sub']))
{
if($_POST['getСode'] == $_SESSION['step1'].$_SESSION['step2'])
{
echo "Число введено верно";
}
else
{
echo "Число введено неверно";
}
}
captcha.php
<?php
session_start();
$step = isset($_GET['step']) ? intval($_GET['step']) : null;
if ($step == 1)
{
$string = $_SESSION['step1'] = rand(100, 999);
}
else
{
$string = $_SESSION['step2'] = rand(100, 999);
}
$im = imagecreatetruecolor(80, 45);
imagealphablending($im, false);
imagesavealpha($im, true);
$trans = imagecolorallocatealpha($im, 255, 255, 255, 227);
$black = imagecolorallocate($im, 255, 255, 0);
imagefilledrectangle($im, 0, 0, 299, 299, $trans);
imagealphablending($im, true);
imagettftext($im, 40, 0, 0, 48, $black, '28 Days Later.ttf', $string);
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
Итог:
По идее при такой капче даже хрумеру->антигейту будет сложно разобрать её.
А можно увеличить кол-во картинок до 3-4-5 и так далее…
Две каптчи — уже слишком, иногда одну не прочитать.
А капча в примере очень легко распознается без антигейтов, обычным программным методом.
А капча в примере очень легко распознается без антигейтов, обычным программным методом.
Тогда уже лучше спрайты заюзать, генерить сразу несколько картинок, потом, меняя офсет, показывать нужную.
Понятно, что не панацея, но в качестве усложнения жизни спамеров — как вариант. Тем более, что на жизнь пользователей это не повлияет.
Понятно, что не панацея, но в качестве усложнения жизни спамеров — как вариант. Тем более, что на жизнь пользователей это не повлияет.
Вы неправильно меня поняли.
Пользователь видит всё как обычно — 1 картинку, которая склеена из 2х изображений.
2 Изображение выше это пример того что мой код работает и каптча введена верно.
Пользователь видит всё как обычно — 1 картинку, которая склеена из 2х изображений.
2 Изображение выше это пример того что мой код работает и каптча введена верно.
И тогда конверсия упадет ниже плинтуса. Капча должна быть простой, чтобы не сильно напрягать пользователя и сильно напрягать роботов. Меня бесит когда я не могу с третий попытки ввести одну капчу. А если их 2 и более. Да нафига мне такой сайт нужен?
Делаем 5 самых простых (как в примере выше) картинок (по 1 цифре или букве) склееных между собой, пользователь видит 1 картинку.
Для пользователя каптча легкая, видно все сразу. Для хрумера же или других нечестей это уже будет посложнее.
Для пользователя каптча легкая, видно все сразу. Для хрумера же или других нечестей это уже будет посложнее.
Все роботы для сайтов затачиваются исходя из сайта. Зайдет человек и увидит что здесь пять картинок. Алгоритм распознавания одной у него есть. Запустить его на пять не сложных картинок и склеить результат мне кажется не сложно.
Здесь на хабре были примеры алгоритмов и я думаю за полчаса даже мне с готовым алгоритмом удастся сделать робота. Может конечно утрирую, но все-таки…
Здесь на хабре были примеры алгоритмов и я думаю за полчаса даже мне с готовым алгоритмом удастся сделать робота. Может конечно утрирую, но все-таки…
Было бы ещё интересней, если бы эта картинка резалась на случайное число прямоугольников, которые бы потом выводились в случайном порядке и позиционировались в одну картинку посредством CSS.
Придумали ещё несколько лет назад, даже была реализация. Картинка резалась по матрице на разное кол-во кусочков и рандомно генерировались уникальные id слоёв, потом генерировалось css и js для собирания этих слоёв в картинку. Даже защиты были, одно из которых куски картинок должны были в определённом порядке подгружаться, это отслеживалось в сессии на стороне сервера. Всё хорошо, только когда мы начали тестировать, масштабно в рамках одного крупного проекта для которого и делалась уникальная каптча, то был написан софт на с++ который сохранял кусок скриншота этой каптчи одной картинкой и отправлял на распознавание.
Идеальная CAPTCHA – отсутствующая CAPTCHA.
Упомяните, пожалуйста, OpenID рядом с Janrain, а то может сложиться впечатление что он уже умер.
Мы убрали капча создавала много проблем «людям с ограниченными способностями». Поэтому мы убрали ее. А заодно и о тупых бло… эээ… «представителях женской половины со светлым типом волос и ограниченными умственными способностями» позаботились ;)))
Спасибо, отличная статья!
Вот так же мое видение решения проблемы: пускай контент можно будет размещать только после регистрации. А регистрацию будет необходимо подтвердить при помощи SMS.
Чем данный способ хорош: спамеры не станут покупать кучу номеров, ибо это накладно, мобильные телефоны на данный момент есть уже практически у всех, впрочем, в случае его отсутствия никто не мешает сделать альтернативное подтверждение звонком на городской, для пользователя совсем не сложно ввести код из SMS.
Минусы: это дорого для администрации сайта (хотя высокодоходные проекты могут себе это позволить).
Вот так же мое видение решения проблемы: пускай контент можно будет размещать только после регистрации. А регистрацию будет необходимо подтвердить при помощи SMS.
Чем данный способ хорош: спамеры не станут покупать кучу номеров, ибо это накладно, мобильные телефоны на данный момент есть уже практически у всех, впрочем, в случае его отсутствия никто не мешает сделать альтернативное подтверждение звонком на городской, для пользователя совсем не сложно ввести код из SMS.
Минусы: это дорого для администрации сайта (хотя высокодоходные проекты могут себе это позволить).
Алсо, более дешевый метод: звонок по Skype. Т.е. при регистрации пользователь указывает свой Skype, туда звонят и называют код.
Плюсы:
— недорого
— с распознаванием речи у компьютеров плохо
Минусы:
— Skype есть не у всех
— Так же не у всех есть наушники или колонки
— Конечно же время.
Но если делать это один раз (при регистрации), получится нормально, на мой взгляд.
Плюсы:
— недорого
— с распознаванием речи у компьютеров плохо
Минусы:
— Skype есть не у всех
— Так же не у всех есть наушники или колонки
— Конечно же время.
Но если делать это один раз (при регистрации), получится нормально, на мой взгляд.
Расскажу историю про скайп: есть у меня приятель, фанат всевозможных линуксов. Только вот всё время так получается что в скайпе под его любимый на этой неделе дистрибутив что-то там чуть-чуть недопилено, поэтому по скайпу с ним никак не поговорить.
Вы упустили очень важную мысль, высказанную в топике:
Если метод слишком медленный, значит, он не стоит того
Вот только не надо SMS. Будете терять всё заграничную аудиторию. Как мне объяснить такой патриотичной форме ввода 8-[___]-[_______] что у меня сотовый начинается с +44, а не с +7 или 8?
А российскую симку раз в пол-года оператор зачем-то деактивирует, спасибо ему преагромное. Каждый раз, как приезжаю домой — здравствуй, родина — сразу в аэропорту иду новую симку покупать.
А российскую симку раз в пол-года оператор зачем-то деактивирует, спасибо ему преагромное. Каждый раз, как приезжаю домой — здравствуй, родина — сразу в аэропорту иду новую симку покупать.
Мне кажется, люди сейчас в пору махинаций с подписками на «рассылки», настороженно отнесутся к требованию вести номер телефона а потом пришедгий на него код на незнакомом сайте.
Минусы: многие не захотят палить свой телефон ради регистрации на вашем сайте. Я бы точно не стал.
Какое число из 3, двадцать девять, 70, 46, 65 является наименьшим?
Вот это порадовало. Что мне там писать, «три», «3», «первое», «вы дебилы, чисел четыре», «двадцать девять», «29», или «писец нимагу панять».
Наверное, я просто бот…
Вот это порадовало. Что мне там писать, «три», «3», «первое», «вы дебилы, чисел четыре», «двадцать девять», «29», или «писец нимагу панять».
Наверное, я просто бот…
Я думаю, неудачные ответы надо сохранять в логи и просматривать на предмет альтернативных решений, которые стоит добавить в список правильных.
Предположу, что три то же вошло в ряд.
Т.е. вопрос звучал
«Какое число из: 3, двадцать девять, 70, 46, 65 является наименьшим?»
Т.е. вопрос звучал
«Какое число из: 3, двадцать девять, 70, 46, 65 является наименьшим?»
> Модерация везде, где только возможно
Ручная — модераторов мало, а автоматическая — это ещё большее зло. Был у меня узкий и срочный вопрос то ли по дайвингу, то ли по паяльным делам, я зарегистрировался на специализированном форуме. А открыть тему не даёт — надо сначала написать десять сообщений в других темах. Пришлось работать роботом, писать в каждую тему что-то вроде «ух ты», «плюс адин» и «поддерживаю».
А если ручная регистрация, то опять же, вопрос срочный, а модератор, видимо, в запое третий день. Чего делать?
А на одном форуме модератор отклонил мою регистрацию, сказал что я бот, так как я ему по соображениям безопасности не расписал в форме всю свою биографию с телефоном и номером квартиры где деньги лежат.
Ручная — модераторов мало, а автоматическая — это ещё большее зло. Был у меня узкий и срочный вопрос то ли по дайвингу, то ли по паяльным делам, я зарегистрировался на специализированном форуме. А открыть тему не даёт — надо сначала написать десять сообщений в других темах. Пришлось работать роботом, писать в каждую тему что-то вроде «ух ты», «плюс адин» и «поддерживаю».
А если ручная регистрация, то опять же, вопрос срочный, а модератор, видимо, в запое третий день. Чего делать?
А на одном форуме модератор отклонил мою регистрацию, сказал что я бот, так как я ему по соображениям безопасности не расписал в форме всю свою биографию с телефоном и номером квартиры где деньги лежат.
НЛО прилетело и опубликовало эту надпись здесь
Регистрировался на одном специализированном форуме, так пришлось легкие задачи по ТОЭ решать, и вспоминать, какие выводы бывают у полевого транзистора. В общей сложности заняло 10 минут. К чему это я. Необходимо будет человеку зарегистрироваться, он какую хочешь вырвиглазную капчу распознаст.
Для людей с нарушениями зрения, слуха или моторики будет создана программа по распознаванию капчь как часть accessebility пакета в операционке.
У меня немного оффтопный вопрос. Вот вы пишете: «при обязательном указании авторства», но кто автор — не написано. И хрен знает, как автора указывать. Посетитель, впервые зашедший на хабр, автора вообще не найдёт. Что должен делать человек в таком случае?
Автор указан.
Оригинал статьи: In Search Of The Perfect CAPTCHA, David Bushell, 03/04/2011.
Я так понял, что по условиям лицензии я должен указывать автора этого топика (т.е. перевода), а не автора оригинала (а вообще, и того и другого, конечно же). Если с автором оригинала всё понятно, то с автором топика у меня возникают проблемы следующего характера:
1) Юзернейм топикстартера на хабре могут найти только внимательные юзеры. Я не очень внимательный, и иногда с этим затрудняюсь (всё время ищу в начале поста).
2) Даже если догадаться, где искать автора поста, непонятно, как его указывать при копировании. Формулировки «Хабраюзер Adiost» будет достаточно с юридической точки зрения? Или необходимо давать ссылку на профиль хабраюзера?
В общем, как-то не по людски. Я бы предпочёл вместо непонятного «указания авторства» просто копировать специально подготовленный блок текста, в котором написаны условия лицензии и уже указан автор, причём именно в том виде, в котором автор хотел бы, чтобы его указывали. И тогда все будут счастливы.
С неюридической точки зрения мне, конечно же, проще поставить гиперссылку «стырено отсюда» и не париться, но думается мне, что это не согласуется с условиями лицензии.
1) Юзернейм топикстартера на хабре могут найти только внимательные юзеры. Я не очень внимательный, и иногда с этим затрудняюсь (всё время ищу в начале поста).
2) Даже если догадаться, где искать автора поста, непонятно, как его указывать при копировании. Формулировки «Хабраюзер Adiost» будет достаточно с юридической точки зрения? Или необходимо давать ссылку на профиль хабраюзера?
В общем, как-то не по людски. Я бы предпочёл вместо непонятного «указания авторства» просто копировать специально подготовленный блок текста, в котором написаны условия лицензии и уже указан автор, причём именно в том виде, в котором автор хотел бы, чтобы его указывали. И тогда все будут счастливы.
С неюридической точки зрения мне, конечно же, проще поставить гиперссылку «стырено отсюда» и не париться, но думается мне, что это не согласуется с условиями лицензии.
Честно говоря, переводы — больное место CC. Фактически я взял оригинальный текст и перевел его. Это вроде как модификация. Но! Я модифицировал его фактически на 100%. В таком случае, это полностью моя работа и авторство мое (на что я и рассчитываю).
Никнейм с юридической точки зрения — пустой звук. Зайдите в мой профиль, там есть имя и фамилия.
Никнейм с юридической точки зрения — пустой звук. Зайдите в мой профиль, там есть имя и фамилия.
> Либо бороться со спамом вручную, либо просто забыть про интересы пользователей – выбор за вами.
Бороться со спамом модерацией может предлагать лишь человек проекты которого никогда не спамили. Я честно пытался обойтись без капчи, но когда спам начал сыпаться быстрее чем его возможно удалять, пришлось поставить рекапчу. Спам продолжает идти, но уже терпимо.
Бороться со спамом модерацией может предлагать лишь человек проекты которого никогда не спамили. Я честно пытался обойтись без капчи, но когда спам начал сыпаться быстрее чем его возможно удалять, пришлось поставить рекапчу. Спам продолжает идти, но уже терпимо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
В поисках идеальной CAPTCHA