Не вводится капча что делать. Тестируем универсальную распознавалку CAPTCHA


CAPTCHA: люди против компьютеров

На некоторых веб-сайтах Вы могли заметить, что не можете продолжать выполнять какие-либо действия или осуществлять заказ до тех пор, пока не разгадаете набор непонятных букв и изображений. После того, как Вы внимательно рассмотрите какие-нибудь волнистые линии, расшифруете написанные слова и введете верную фразу (слова или цифры) в пустое поле, то сможете продолжить Ваши действия на сайте. Данный процесс предназначен для того, чтобы сайт мог убедиться в том, что на самом деле Вы – человек, который просматривает сайт .

Такой тест называется CAPTCHA (Completely Automated Public Turing Test to Tell Humans and Computers Apart), и он используется в Интернете повсеместно. Веб-сайт по продаже билетов Ticketmaster – это отличный пример использования CAPTCHA: без такого теста «робот» потенциально мог бы купить миллионы билетов на какой-нибудь концерт или мероприятие, а после этого перепродать их по более высокой цене.

Безусловно, требование разгадать непонятно написанную комбинацию букв и цифр каждый раз, когда мы хотим что-нибудь сделать, немного напрягает. И это требует дополнительного времени. Каждый раз, когда необходимо пройти тест CAPTCHA, Вы тратите примерно 10 секунд Вашей жизни. Вот почему CAPTCHA заработала плохую репутацию среди Интернет-пользователей, несмотря на то, что он был создан как раз для обеспечения нашей безопасности.


CAPTCHA мешает кибер-преступникам

Луис Фон Ан, один из создателей CAPTCHA, продолжает развивать данный тест уже в рамках Google, его нового разработчика. Этот проект был возрожден в reCAPTCHA, расширение теста Captcha, который берет слова с отсканированных страниц старых книг (такие слова компьютеру сложнее распознать). Защищая нашу безопасность, проект одновременно помогает « оцифровывать тексты, аннотации к изображениям, и строить наборы данных для машинного обучения »… теперь хотя бы эти 10 драгоценных секунд используются для чего-то более стоящего.


Здорово, что мы помогаем оцифровывать книги, но когда речь заходит об Интернет-безопасности, но эффективна ли CAPTCHA?


Можно слишком легко обойти Google CAPTCHA

Трио исследователей из Университета Колумбия (Нью-Йорк) доказали, как легко можно обойти некоторые CAPTCHA . Подобные программы значительно затрудняют хакерам использовать запрограммированные боты для автоматического и массового сбора адресов электронной почты, которые потом используются для спамовых кампаний. Но они не являются абсолютно надежными. Такие процессы могут быть автоматизированы, а в результате этого компьютеры смогут проходить тесты reCAPTCHA также эффективно, как мы с Вами.

Доброго времени суток,друзья! Если вы читаете, данную статью, значит и у вас возникают проблемы с рекапчой от гугл, которую используют все большее количество сайтов.Но многие пользователи её не любят, но все большее количество пользователей сайтов, её используют. Чем она так хороша, её минусы и как её пройти, все это можно узнать в этой статье.

ReCaptcha была создана, для защиты сайтов от интернет-ботов и оцифровке текстов книг. С 2009 года, принадлежит компании гугл.

чем она хороша

Как было отмечено ранее, плюсы данного вида капчи: защита от спама и оцифровка текстов книг.

чем она плоха

Конечно данная капча,неидеальна и правильно написанный бот,спокойно обходит такие рекапчи.

Помимо этого, у многих пользователей возникают проблемы, с рекапчой, которую приходится разгадывать по несколько раз. Чуть ниже, я расскажу, как я быстрее прохожу капчи. Способ конечно простой, но не сильно действующий, зато ускоряет время затраченное на разгадывание капчи.

Что я заметил?

Например при разгадывании капчи с дорожными знаками, иногда не бывает дорожных знаков,тогда сразу нажимаем пропустить. Но иногда капча с дорожными знаками и т.п. бывает и при их выделении и подтверждение перекидывает на другую капчу. Почему?При разгадывании, я столкнулся, только с одним вариантом(если их больше пишите в комментариях), при нажатии на картинку кнопка "пропустить", заменяется на "далее". Если появляется кнопка далее, то вы эту капчу не разгадаете и вас перекинет на следующую капчу

Есть несколько нюансов,

как её пройти и небольшие особенности прохождения капчи.

1)Вид ReCaptcha

а)Исчезающие картинки(убрать все лишнее)

Такие капчи, проходятся всегда. Лично у меня с этим видом капчи, никогда не было особых проблем.

б)Выбор картинки или части картинки(чуть ниже приведу пример)

С выбором картинки у меня возникали проблемы. Но я не мог понять почему. К примеру, на картинке ниже, в задании написано: "выберите все квадраты, в которых изображены дорожные знаки. Если их нет,нажмите кнопку "пропустить"". На самом деле, здесь есть дорожный знак P="парковка", но ReCaptcha её не засчитает, так как вместо кнопки "пропустить", появляется кнопка "далее", хотя дорожный знак в задании присутствует,но возможно разработчики ReCaptcha,так не считают. Бывает и обратная ситуация, но приводить пример, в статье не буду, думаю и так всем все понятно.

2)Если это капча с неисчезающими картинками, то выберите один квадрат и посмотрите, на изменение кнопки "пропустить".

а)Если кнопка поменялась на кнопку "далее". Такую капчу вы не пройдете, даже, если есть решение.

б)Если кнопка поменялась на кнопку "подтвердить", то такую капчу вы пройдете,в том случае, если пройдете её верно.

С уважением, Марс Магафуров

  • Tutorial

Сколько лет существует Хабр - столько лет на нём регулярно появляются посты про очередную капчу - будь то скрипт генерации картинки, новая идея капчи с котиками и тому подобное. Самый свежий пример того, что человек не совсем понимает - как же всё таки должна работать капча (см. текст поста и последние комментарии), но при этом делится своими заблуждениями с сообществом. Складывается ощущение, что капча - это такая terra incognita для большинства разработчиков - как для тех, кто просто прикручивает её к очередной форме в надежде на то, что она будет работать «из коробки», так и для тех кто придумывает капчи вроде тех, на которых надо выбрать картинку с котиком из нескольких фото.

Статья содержит полезную информацию для тех, кто использует капчу на своём сервере, вместо того чтобы довериться стороннему сервису вроде reCaptcha.

А для затравки - если вы считаете, что такая проверка капчи будет работать:
if($_POST["captcha"] == $_SESSION["captcha"]) return true; (пример из практики)
то вы глубоко заблуждаетесь.

Captcha

Согласно своему определению, captcha - это автоматизированный публичный тест Тьюринга (тест который может пройти человек, но не компьютер). В статье я буду рассматривать свойтсва капчи на примере самого распространненого её вида - текста на картинке, хотя почти все написанное одинаково применимо к любому виду капчи.

Два главных свойства капчи

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

Устойчивость к распознаванию - свойство, защищающее капчу от распознавания алгоритмом - например системой распознавания текста. Гарантирует то, что человек сможет прочитать текст на картинке, а компьютер нет.
Антипример: стандартная капча форумов phpBB 2.x таким свойством не обладала - из-за относительной простоты распознавания появились скрипты, которые спамили все подряд форумы вынуждая веб-мастеров менять капчу на более стойкую.

Устойчивость к угадыванию - свойство капчи, не позволяющее угадать её значение за небольшое число попыток (менее 1000). Если набор возможных значений капчи невелик, программе не составит труда угадать её подбором вместо распознавания.
Антипример: арифметическая капча вроде «1+2» (перебор чисел от 1 до 20 в скором времени даст результат).
Антипример: выбрать из нескольких картинок ту, на которой изображён котик.

Проверка капчи

Значение для проверки должно храниться на сервере, а не передаваться вместе с картинкой в браузер. Для сопоставления посетителя и правильного значения капчи необходимо использовать некий ключ, который передаётся вместе с капчей (идентификатор сессии, номер капчи и т.п.)
Антипример: если передавать саму капчу и значение для ее проверки (в том числе зашифрованное), то человеку достаточно один раз распознать такую капчу и далее использовать комбинацию «ответ»-«значение для проверки» в своём скрипте (по ссылке в начале поста как раз такой случай)

Перед проверкой ответа - надо убедиться, что он не пустой. В противном случае, злоумышленник может не загружая картинку или удалив идентификатор текущей сессии, передать пустое значение и пройти капчу, т.к. произойдёт сравнение двух пустых строк (в PHP несуществующее значение равно пустой строке).
Антипример: уже упомянутый мной код if($_POST["captcha"] == $_SESSION["captcha"]) return true;
Причем этот код был написан опытным программистом.

После проверки, сохраненное значение капчи необходимо удалить. Если не сделать этого, злоумышленник сможет использовать данное значение снова неограниченное число раз. Да, при обновлении страницы с формой обновляется и капча (либо при генерации формы, либо при генерации картинки), вот только скрипт может не загружать форму снова (надо упомянуть, что это не актуально если на сайте используются одноразовые csrf-токены для форм).
Антипример: гипотетическая форма логина, в которой достаточно один раз ввести капчу правильно, и далее подбирать пароль скриптом, избегая перегенерации капчи на сервере.

Пуленепробиваемая капча

Защита от перебора. Если ваша капча устойчива к распознаванию, но не очень устойчива к перебору (например на ней надо прочитать всего 3-4 цифры), желательно ограничить число неправильных ответов «с одного ip» / «для одного логина» / etc. Такие ограничения необходимо проверять ДО проверки самой капчи (то есть даже в случае правильно введенной капчи, при наличии ограничения она не должна считаться пройденной) иначе оно не будет препятствовать перебору.

Защита от DoS. При генерации капчи на своем сервере, надо понимать что это удобный вектор проведения DoS атак (которую, в отличие от DDoS, может устроить любой школьник). Для защиты можно ограничить число генерации капчи для одного ip, кэшированием капч и т.д.

Защита от распознавания. Если вы выбираете капчу, или вдруг собираетесь написать её сами, желательно понимать какая капча более защищена от распознавания. Существуют готовые универсальные скрипты распознавания капчи, работающие по принципу OCR , а в случае если ваш сайт заинтересует спамеров есть риск, что будут использовать / писать скрипт конкретно под вашу капчу. Последнее правда относится больше к сайтам уровня Яндекс или vk, а вот вариант с защитой от банальных OCR желательно предусмотреть.

Защита от антигейтов. Если говорить формально, то капча как тест Тьюринга не обязана защищать вас от антигейтов, так как в этом случае её будет распознавать человек. С практической же точки зрения, этот вопрос весьма актуален и защищаться как-то надо.
Тут нет и не может быть «золотого стандарта» (ибо в таком случае антигейты внедрят его поддержку), поэтому вы вольны дополнять капчу любыми ухищрениями, чтобы сделать её распознавание через антигейт невозможным. Например:
- нестандартная капча (сбор паззла, поворот изображения, клик по области на фото и т.п.);
- кириллическая капча - самое простое решение, но имеет ряд минусов: подходит только для проектов с русскоязычной аудиторией, есть антигейты с поддержкой кириллицы;
- использование виртуальной клавиатуры рядом с капчей для ввода нестандартных символов или фигур (может быть неудобно пользователям мобильных);

Юзабилити

Не просите ввести капчу, если вы уже убедились, что перед вами человек. Тут однако, надо быть осторожным, чтобы форму нельзя было использовать скриптом неограниченное число раз после однократного ввода капчи человеком.
Пример: форма регистрации. Если я где-то регистрируюсь, и забыл ввести поле «почтовый индекс», но правильно ввёл капчу - не надо показывать мне новую. Потратьте 10 минут на то, чтобы сохранить где-то у себя, что вот эту конкретную форму сейчас пытается заполнить живой человек.

Для облегчения распознавания человеком: не используйте в капче одновременно буквы и цифры, не используйте одновременно прописные и строчные буквы, исключите похожие символы.

Отказ от использования капчи

Лучшая капча - отсутствие капчи. Там где можно отказаться от её использования - это надо сделать. Возможно для этого придется реализовать дополнительные лимиты и проверки, но пользователи скажут вам спасибо.
Но тут надо быть очень осторожным. Например: форма регистрации без капчи, с полем email на который приходит письмо с активацией. Без дополнительных средств защиты такую форму могут завалить «левыми» адресами, и ваш сайт включат в черные списки почтовые службы. В таком случае можно обходиться без капчи, но только если у вас есть другой рубеж защиты, вроде лимита по ip.

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

    +1 На рассмотрении

    Если форма запроса в поддержке содержит капчу гугл, а в настройках капчи в магазине включен скрытый режим, форма не работает (пишет ошибку "Это поле обязательное", хотя все поля заполнены.Для временного исправления ситуации...

    Капча не отображается

    Обнаружил, что при использовании расширения PHP ImageMagick не работает капча в форме обратной связи {$wa->block("site.send_email_form")}. Как только переключился на GD, то капча заработала. Это у меня что-то не так или все же лучше...

    Есть решение

    Пишет Капча введена неверноСтандартная капча выдает тоже самоеПробовал чистить кэш браузера и удалял содержимое папки wa-cache не дало результатовhttp://fluxor.ru/signup/

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

    Есть решение

    Добавляю капчу в форме потоке (модуль Поддержка), а она не выводится на сайте на стоковом шаблоне..

    Есть решение

    Добрый день!Некоторое время назад заметил, что капча на сайте работает неправильно. Какой бы код не вводил в это поле (верный код и не верный), капча не проходит проверку.... и...

    {$wa->storage(["captcha", $wa->app()], "")}зачем такие танцы с бубнами?)) можно просто не вставлять {$wa->captcha()} в форму.проблема может быть если Вы пытаетесь использовать несколько капч на странице - решение попадалось на форуме...может плагин...а может кеш..гадать можно долго:)

    Есть решение

    В связи с последним обновлением до версии 1.8.4.225, в котором решались какие-то вопросы с reCAPTCHA и последующим быстрым обновлением до версии 1.8.5.226 возникла следующая проблема. Если включить в магазине в Настройках -> Оформление заказа показ...

    А тем временем выкатили обновку. Надеюсь, что ничего нового не поломалось. Поставлю пока на тестовый хостинг. :)))

    +1 Исправлено

    При добавлении отзыва с настроенной невидимой капчей от Google при первом сабмите формы капча проходит, но если в форме были ошибки (не заполнены поля), то при отправке формы второй и последующий раз, капча не проходит...

    +1

    И что бы не происходило - ввод ЛЮБОГО кода капчи ВСЕГДА неправильный.