Что такое капча и для чего она нужна? Для чего и как вводить капчу при регистрации?
Краткое содержание статьи:
- Что такое капча при регистрации?
- Главные минусы капчи
- Капча введена неверно: что это значит?
- Какая бывает капча?
- Как пройти капчу?
- Видео: как появлялась капча, какова ее задача?
При регистрации на каком-либо сайте или совершении различных действий на странице иногда пользователю требуется ввести изображенные на небольшой картинке словосочетания или цифры. Многие не понимают, зачем это нужно. На самом деле эти размытые изображения весьма важны для защиты от спама.
Что такое капча при регистрации?
Капчей называется мини-тест, который должен пройти пользователь, чтобы получить доступ к дальнейшим действиям на сайте или в приложении. С его помощью владельцы сайта отсеивают искусственных пользователей (роботов, ботов), которые созданы для автоматического входа и сбора различной информации по интернету.
Данный тест может быть представлен в виде ввода текста с картинки, решения простого примера, выбора определенных изображений и т.д. Правильное решение сообщит системе сайта о том, что регистрацию проходит именно человек, а не робот (специальная программа-скрипт). Последний обычно не может решить простейшую задачу, так как его рабочий алгоритм предназначен только для внесения регистрационных данных в анкету.
Возникает вопрос: зачем вообще пользователю доказывать тот факт, что он человек? Все дело в том, что таких «роботов» (специально написанные программы) используют спамеры. Это люди презираются всеми: вебмастерами, простыми пользователями, владельцами поисковых и почтовых сервисов.
Работа спамеров состоит в том, чтобы рассылать рекламные объявления или откровенно мошеннические сообщения другим людям на форуме, социальной сети и т.д.
Изначально такие деятели работали вручную. Это отнимало у них много времени, а результат приносил мало дохода. Именно поэтому стали появляться роботы. Они выполняли рутинную работу в автоматизированном режиме: заходили на сайт, заполняли анкетные данные, регистрировались, рассылали другим пользователям письма, скачивали файлы, копировали информацию и т.д.
Спам приносил много проблем, так как не только раздражал людей, но и вызывал нагрузку на серверы. Капча в этом случае стала прекрасным защитным механизмом. Роботы проваливали простое требование, вроде необходимости ввести текст с картинки или определить, что находится на изображении.
Капча значительно уменьшила активность спамеров, хотя и не смогла полностью погубить их сферу деятельности. Поэтому не стоит нервничать, пытаясь разобрать мутный текст с картинки. Это намного лучше, чем регулярно удалять десятки ненужных писем.
Главные минусы капчи
Казалось бы, что капча делает благое дело и защищает Интернет от засилья спама. Но у нее все же есть недостатки:
- Замедленное выполнение различных действий на сайте. На заполнение капчи уходит время, примерно 15-30 секунд. Кажется, что немного. Но на некоторых сайтах для выполнения нескольких действий (регистрация, отправка сообщения к статье и т.д.) регулярно требуется введение капчи. Так вебмастера перестраховываются и пытаются защититься от спама, что доставляет неудобства посетителям ресурса;
- Сложность распознания. Хорошо, если пользователю предстоит увидеть на картинке обычные словосочетания или картинки. Но иногда изображение достаточно мутное и представлено невнятным набором символов;
- Проблемы с вводом капчи у людей с плохим зрением. Эта проблема уже не так актуальна. Сегодня рядом с картинкой часто имеется альтернативная опция для прослушивания текста. Хотя не все вебмастера устанавливают такую продвинутую систему защиты от спама;
- Возможность разгадывания роботом. Рассылка рекламы все еще востребована у различных компаний. Поэтому спамеры не хотят терять свой заработок и придумывают методы обхода капчи. Создаются программы, которые попросту подбирают текст на картинке. Робот перебирает несколько сотен вариантов ответов и один оказывается верным. Более сложные программы распознают буквы на изображении. Кстати, именно поэтому при генерации капчи добавляется эффект легкого размытия или искривления слов. Это позволяет снизить вероятность распознавания капчи роботом, хотя и усложняет процесс чтения текста человеком.
Капча введена неверно: что это значит?
Если выдается ошибка о неверно введенной капче, то самый вероятный вариант состоит в том, что пользователь неправильно ввел текст с картинки. В этом случае проще всего перезагрузить страницу (клавиша F5 в Windows) и ввести заново. Когда раз за разом выдается плохо читаемый текст, то стоит прослушать его, выбрав соответствующую опцию.
Часто посетители сайта печатают слово с прописной буквы, даже если оно на изображении написано с заглавной. В ответ получают сообщение об ошибке. Вполне вероятно, что данная капча чувствительна к регистру. Поэтому если слово написано с большой буквы, то так его и следует указывать в поле для ввода текста.
Иногда капча не загружается вовсе. Это бывает связано с тем, что у пользователя слабое Интернет-соединение или же у него установлен блокировщик рекламы (например, Adblock), воспринимающий изображение с текстом как рекламный блок.
Какая бывает капча?
Было разработано 3 вида капчи:
- Введение символов с картинки. Самый популярный вариант, который можно встретить на многих ресурсах. К недостатку относится не совсем разборчивый текст с сильным эффектом размытия;
- Выбор изображений. Пользователь должен отметить в списке картинок те, на которых изображены определенные объекты: машины, растения, дорожные знаки и т.д. Для робота такую систему труднее одолеть, хотя уже появляются программы, способные к анализу изображений;
- Решение несложной арифметической задачи. Обычно предлагаются легкие примеры, с которыми справится даже школьник начальных классов. Для робота здесь двойная проблема: разгадать цифры и произвести вычисления.
Есть весьма редкие и интересные виды капчи. Например, посетитель сайта должен составить из определенного набора мини-картинок (нос, глаза, губы) лицо человека. Весьма оригинальный подход, который позволяет полностью защититься от спама. Но все же подобные капчи не слишком популярны. Они отнимают много времени на совершение сразу нескольких действий.
Как пройти капчу?
Неразборчивая капча сегодня встречается не так уж часто. В крайнем случае, если не удается разобрать текст, то следует перезагрузить страницу или саму картинку.
Можно воспользоваться программами для распознавания капчи. Среди них самыми надежными считаются Rucaptcha и Antigate. Сервис не бесплатный, но крайне недорогой. К примеру, за 1 тыс. разгаданных изображений надо заплатить около 20 рублей.
Капча появилась почти 20 лет назад и до сих пор считается действенным механизмом для ограничения рекламных рассылок в Сети. Она избавляет форумы и социальные сети от множественных регистраций со стороны спамеров.
Капча не лишена недостатков, ведь пользователь тратит время на ввод символов, которые к тому же не так просто бывает разобрать. Тем не менее, лучшей защиты от спама пока что не придумано.
Видео: как появлялась капча, какова ее задача?
В этом ролике специалист Егор Осипов расскажет, для чего придумали капчу и какую роль она выполняет в интернете:
Капча — что это такое, какая она бывает и как правильно её выбирать
Капча (англ. captcha) — аббревиатура от «Completely Automatic Public Turing Test to Tell Computers and Humans Apart» (полностью автоматический тест Тьюринга для отличния компьютеров от людей). По сути, это защита от заполнения и отправки любых форм ботами и спамерами в автоматическом режиме, будь то запрос в поисковой системе или регистрация в каком-либо сервисе, отправка комментария под статьёй или заполнение анкеты на сайте. Как правило, представляет собой картинку с со случайным текстом, цифрами, буквами, значение которой нужно записать в специальную форму.
Пример капчи во Вконтакте
Эффект рассчитан на то, что боты картинку не распознают, а человек — сможет. Соответственно, спамеры в автоматическом режиме и боты проверку не пройдут, и спам тоже.
Виды капчи, какая она бывает
Как было сказано выше, как правило, капча — это картинка с цифрами и буквами. Однако, это не единственная её форма, ведь всё зависит от вашей фантазии.
Самая простая капча представляет собой чекбокс, куда надо поставить галочку в подтверждение о том, что вы — не робот.
Капча на сайте МТС при отправке бесплатных sms
Бывают такие, что приходится выбирать картинки по какому-то признаку. Например, подобная схема реализована на сайте МТС в разделе отправки бесплатных сообщений SMS.
Собственно, видов превеликое множество. Как же выбрать то, что нужно? Лично я рекомендую пользоваться самописными вариантами, ибо тут всё будет зависеть от фантазии вашей или ваших программистов. Если капча получится оригинальной, то такую вещь обойти спамерам будет намного сложнее. Но, так как это довольно накладно либо по времени, либо по деньгам, советую воспользоваться сервисом Google reCAPTCHA
Google ReCaptcha — как установить и настроить
Google reCAPTCHA — это сервис, который предоставляет бесплатную капчу для защиты различных форм ввода данных на сайте от спамеров и ботов.
На изображении вы видите промо Google reCAPTCHA Invisible — нового вида рекапчи (невидимая), который только проходит бета-тестирование. Соответственно, пока что пользоваться им я не рекомендую, лучше отдать предпочтение классической проверенной рекапче.
Нужно авторизоваться или завести новый аккаунт. Если у Вас уже есть аккаунт от почты Gmail, можно авторизоваться с его помощью.
После авторизации регистрируем сайт, получаем ключи доступа.
Регистрируем сайт для Google Recaptcha
- Название можно вводить любое — пригодится в дальнейшем, чтобы не запутаться, если связок ключей будет много
- Домены вводить по одному в строке. Если ввели домен example.com, то ключи будут работать и для всех его поддоменов
Если их прописать неверно, увидите ошибку Error: Invalid domain key или Ошибка: неверный домен ключа
Публичный и секретный ключи Google Recaptcha
Они понадобятся в дальнейшем:
- Публичный ключ будет использоваться в HTML формы отправки сообщений, или там, где мы хотим использовать капчу
- Секретный ключ нужно держать в тайне, он используется для связи сайта с Google Recaptcha
- Если Вы умеете пользоваться Composer, просто вбиваете в консоль или командную строку следующую команду, которая скачает всё, что нужно:
Я приведу пример с последним вариантом.
В ней мы разместили нашу рекапчу над кнопкой отправки формы. Теперь нужно подключить обработчик. Над этой формой разместим следующий код:
Здесь мы подключили PHP библиотеку для обработки рекапчи, а также верифицировали капчу на сервере Google.
Я подготовил специальную страницу для проверки рекапчи: http://recaptcha.sheensay.ru — код полностью копирует источник выше.
В случае, если форма будет успешно отправлена, вы увидите соответствующее сообщение:
Форма успешно отправлена
Если же, капча не пройдёт проверку, вы увидите сообщение об ошибке:
Проверка капчи не пройдена
Всё, теперь каждая форма комментариев защищена капчей.
Иерархия файлов в подобном проекте:
index.php в корне — тут располагается основной код, рядом располагается каталог recaptcha — в нём все файлы из PHP-библиотеки
Приведу полный код страницы http://recaptcha.sheensay.ru. Вы можете поменять логику вывода ошибок на свою:
Как установить Google Recaptcha в WordPress
Чтобы установить Google Recaptcha в WordPress, самым удобным будет сделать это через плагин Google Captcha (reCAPTCHA) by BestWebSoft
Устанавливаете плагин, в поля вводите ключи для домена, которые мы приготовили по инструкции выше — и готово.
Далее, переходите к настройкам плагина, вводите публичный и секретный ключи в соответствующие поля:
Страница настроек плагина Google Captcha (reCAPTCHA) by BestWebSoft
Как защитить комментарии от спама без капчи
Если морока с собственными комментариями ни к чему, трудно установить капчу, она Вам почему-то не нравится или просто нет такой возможности, то можно воспользоваться готовой системой комментирования Disqus. Как выглядит Disqus, можно увидеть под этой статьёй, на этом сайте интегрирована и используется эта система комментирования. Из плюсов — очень удобная система модерирования, отсутствие спама как такового, приятный внешний вид.
Как обойти капчу
Как говорилось выше, боты картинку капчи не распознают, а человек — сможет. Однако, и на старуху найдётся проруха, потому появились сервисы автоматического распознавания капчи. Одним из них является anti-captcha.com (бывший Antigate).
Суть сервиса заключается в том, что он за небольшую плату предоставляет сервис распознавания капчи. Капчу распознают люди, готовые это делать за копейки.
Такой сервис может пригодиться, скажем, для парсера поисковой выдачи (например, KeyCollector). Поисковые системы Google или Yandex при слишком частых запросах к ним начнут подозревать автоматические запросы и будут просить вводить капчу. Тут и пригодится сервис автоматического распознавания капчи. Сам сервис предоставляет API для взаимодействия с ним. Многие программы — парсеры, имеют встроенный функционал для взаимодействия с антикапчей (тот же KeyCollector имеет его), вам будет достаточно только пополнить баланс и прописать ключи API сервиса в программе, остальное — дело техники.
Я реализовал свой reCAPTCHA в соответствии с тем, как показано в примере.
У меня есть этот скрипт в head тега:
В моей form в HTML у меня есть:
Но когда я загружаю form я получаю эту ошибку:
ОШИБКА: неверный домен для ключа сайта
Я подтвердил, что это правильный ключ сайта для моего домена.
Код в настоящее время находится в поддомене, поэтому я подумал, что это может быть проблема, поэтому я также добавил поддомен к администратору Google reCAPTCHA, но все равно получаю ошибку.
Точно такой же код работает на 100% в другом домене (с ключом, специфичным для этого домена).
В чем может быть проблема?
16 ответов
Если кто-то имеет аналогичную проблему. Мое решение заключалось в том, чтобы удалить ключ, который не работал, и получил новый ключ для моего домена. И теперь это работает со всеми моими поддоменами, без необходимости явно указывать их в области администрирования recaptcha.
Я столкнулся с этой ошибкой, потому что я использую один и тот же ключ в нескольких разных доменах, и я забыл добавить один из доменов к ключу.
После добавления моего сайта потребовалась минута или две (скорее всего из-за кеша), чтобы все снова заработало нормально.
Не нужно создавать новый ключ, просто очищать данные сайта в браузере
Если вы изменили домен своего домена, добавьте этот домен в существующий ключ (это не обязательно для создания нового) и сохраните его.
но google recapture имеет некоторые данные в браузере. Очистите их, тогда он будет работать с вашим новым доменом
Думаю, самый быстрый способ — просто отключить проверку домена во время его разработки
Возможно, вы случайно использовали закрытый ключ для открытого ключа.
Я использовал localhost во время модульного тестирования, когда мой ключ recaptcha был зарегистрирован до 127.0.0.1. Поэтому я изменил свой браузер на 127.0.0.1, и он начал работать. Хотя я смог добавить «localhost» в список доменов в моих настройках ключа ReCaptcha, я все еще не могу unit test использовать localhost. Я должен использовать IP-адрес loopback 127.0.0.1.
У меня были те же проблемы, которые я решил. Я зашел на https://www.google.com/recaptcha/admin и нажал на домен, а затем перешел к ключевым настройкам внизу.
Там я отключил опцию ниже Проверка доменного имени Проверить источник решения reCAPTCHA
нажал на сохранить и капча начала работать.
Я думаю, что это связано с настройкой сервера. Я нахожусь на виртуальном хостинге и только что был без уведомления перенесен из Liquidweb в Deluxehosting (так как первый продал свой общий хостинг последнему), и у меня были такие проблемы со многими проблемами. Вот, думаю, Google проверяет сервер, но идентифицирует его как имя общего сервера, а не мой домен. Когда я снимаю галочку с «проверить происхождение», он начинает работать. Надеюсь, что это поможет решить проблему в настоящее время.
Перед восстановлением ключей, которые разрешают 90% -ную проблему, необходимо отметить еще один момент.
например, ваш каталог xampp — C:xampp
и htdocs папка: C:xampphtdocs
мы хотим открыть страницу с именем: example-cap.html и на странице отображается ошибка «неверный домен для ключа сайта»
ИСПОЛЬЗУЙТЕ ВАШ ЛОКАЛЬНЫЙ АДРЕС в адресу браузера, как:
это решит вашу проблему
DONOT USE ADDRESS c:xampphtdocsexample-cap.html это приведет к ошибке
Убедитесь, что вы заполните свое доменное имя, и оно не должно заканчиваться путем.
Для меня я просто забыл ввести фактическое доменное имя в области «Параметры ключа», где он говорит «Домены» (по одному на строку).
Я пробовал в течение почти 4 часов с этим и, наконец, выяснил это с помощью руководства здесь, я думал, что поделюсь с вами своим решением.
Итак, мой домен является доменом аддона. Я также получил «ОШИБКУ для владельца сайта: Недопустимый домен для ключа сайта». Я проверил, что все было правильно почти тысячу раз, и это выглядело правильно, пока я не подумал об этом с точки зрения ярлыка на рабочем столе.
reCAPTCHA ERROR: Invalid domain for site key
I have implemented my reCAPTCHA in line with as is shown in the example.
I have this script in the head tag:
In my form in HTML I have:
But when I load the form I get this error:
ERROR: Invalid domain for site key
I have confirmed that this is the correct site key for my domain.
The code is currently in a subdomain so I thought maybe that was the problem so I also added the subdomain to the Google reCAPTCHA admin but still get the error.
The exact same code works 100% in a different domain (with a key specific to that domain).
What could be the problem?
17 Answers 17
In case someone has a similar issue. My resolution was to delete the key that was not working and got a new key for my domain. And this now works with all my sub-domains as well without having to explicitly specify them in the recaptcha admin area.
I ran into this error because I’m using the same key on a few different domains and I had forgotten to add one of the domains to the key.
After adding my site it took a minute or two (most likely because of cache) for things to work normally again.
I had the same problems I solved it. I went to https://www.google.com/recaptcha/admin and clicked on the domain and then went to key settings at the bottom.
There I disabled the the option below Domain Name Validation Verify the origin of reCAPTCHA solution
clicked on save and captcha started working.
I think this has to do with way the server is setup. I am on a shared hosting and just was transferred without notice from Liquidweb to Deluxehosting(as the former sold their share hosting to the latter) and have been having such problems with many issues. I think in this case google is checking the server but it is identifying as shared server name and not my domain. When i uncheck the «verify origin» it starts working. Hope this helps solve the problem for the time being.
Время на прочтение
11 мин
Количество просмотров 93K
Как часто вы сталкиваетесь с тем, что не можете ввести предлагаемую капчу с первого раза? Теперь подумайте, какие трудности могут возникнуть у современного человека, который разговаривает с компьютером «на Вы»? Для него преграда в виде reCAPTCHA становится сильнее, чем для робота.
Однако трудность распознавания капчи человеком является вовсе не самой острой проблемой, как может показаться на первый взгляд. Можно было бы конечно закрыть на это глаза, если бы капча действительно защищала нас от различных автоматизированных систем распознавания. Но это далеко не так!
И я хочу рассказать о средстве, которое решает эти проблемы.
Для того, чтобы создать адекватную защиту для CAPTCHA, необходимо сначала классифицировать способы ее распознавания.
Автоматизированное распознавание капчи
В настоящее время существуют три основных способа автоматизированного распознавания капчи:
1. Использование ошибок в алгоритме защиты
Такой подход направлен на поиск логических ошибок (уязвимостей), позволяющих корректно отправлять форму, без распознавания самой капчи.
Это самый простой способ обхода защиты, но его можно применить в основном, только в простеньких самодельных решениях.
Наиболее популярной ошибкой является передача проверочного кода капчи через поля формы или cookie в открытом виде, в base64, или в md5-хеше без применения соли.
Атакующему не составит труда его получить, даже если ему придется сгенерировать rainbow-таблицу в соответствии с алфавитом капчи (только 5-тизначные буквы русского языка или только 6-тизначные цифры и т.п.) и сделать сопоставление.
Ошибкой так же считается, когда одна и та же капча может быть разгадана более одного раза. Это касается в основном случаев, в которых сгенерированный иднетификатор капчи действителен в течении 5-10 минут, но ограничений на количество проверок у него нет. Тем самым давая возможность атакующему, который уже знает ответ, многократно использовать идентификатор разгаданной капчи. Можно использовать брутфорс с одним и тем же идентификатором капчи, что, в конечном итоге, приведет к желаемому результату.
2. Автоматическое распознавание
Есть три основных пути успешного автоматического распознавания капчи:
I. Использовать готовые средства оптического распознавания (OCR)
Это самый простой подход, не требующий специальных навыков программирования. Такие программы в основном распространяются бесплатно, и их существует достаточно много: ocropus, cuneiform, tesseract, gocr, orcad и другие.
Атакующему нужно только передать картинку капчи такой программе, где на выходе он получит уже распознанный текст. Обычно такие программные продукты имеют множество тонких настроек, позволяющих сделать распознавание более эффективным.
Именно для предотвращения распознавания подобным образом, применяют различные искажения, скручивания, добавление мусора и т.п.
В данном случае процент распознавания может быть совсем небольшим (всего около 10%), но атакующий все равно добьется успеха.
II. Самописные скрипты с применением библиотек GD, ImageMagick и других
Такие скрипты позволяют очистить картинку от мусора, убрать фон, выровнить текст по вертикали, обрезать картинку, оставив только текст, убрать многоцветность, сделать усреднение цвета и т.д. На практике же полноценное распознавание такими скриптами весьма затруднено.
Гораздо более эффективно можно использовать такой скрипт только для предварительной очистки картинки, оставив сам процесс разбора другим способам.
III. Нейронные сети
Наибольший интерес сейчас представляют именно нейронные сети. Для многих это до сих пор похоже на некую магию.
Нейронные сети стали применяться атакующими, с целью автоматического распознавания любых капч.
Они обучают нейронную сеть, которая способна с высокой степенью вероятности распознать даже самую сложную reCAPTCH’у.
Существует множество различных библиотек для разных языков программирования, которые распространяются бесплатно. Одна из таких библиотек, Fast Artificial Neural Network, ранее освещалась в журнале Харкер.
3. Полуавтоматическое распознавание с привлечением дешевых человеческих ресурсов
Есть множество сайтов, таких как antigate.com, rucaptcha.com, captchabot.com и т.д., которые предоставляют своим клиентам выгодную услугу. Они принимают от клиента, в автоматическом режиме, картинку с капчей, и через несколько (10-30) секунд выдают правильный, по их мнению, ответ. Процент удачного распознавания в таком случае очень высокий, порядка 90-95%.
Стоит отметить, что у неподготовленного посетителя этот процент намного ниже.
Стоимость такой услуги составляет примерно $1-3 за правильно распознанные 1000 капчей.
Представьте себе регистрацию 1000 аккаунтов в GMail, которая обойдется всего в 30 рублей!
Вы наверняка спросите, кто будет заниматься ручным распознаванием за такие смешные деньги? Это граждане беднейших стран мира, таких как: Индия, Китай, Вьетнам, Пакистан, Камбоджия и т.д.
Конечно, первое, что приходит на ум создателям капчи, это ввести русский алфавит и полностью исключить английский.
Некоторые удаляют даже цифры. Но как вы понимаете, эти полумеры не способны дать адекватную защиту и уже в ближайшее время владельцы сервисов перенаправляют трафик с таких капч уже только тем, кто умеет читать по-русски.
Другие же стараются усложнить сами капчи, накладывают различные фильтры, искажения, мусор и т.д., думая, что их распознает робот.
Тем самым они усложняют прочтение и распознавание не только людям занятым в этих сервисах и всевозможным скриптам, но и обычным пользователям, чья подготовка оказывается в разы ниже. Все это начинает напоминать современную медицину, которая борется не с причинами заболеваний, а лишь с их симптомами, в результате чего страдает только пациент.
Основными потребителями таких услуг, в основном, являются крупные SEO-компании, и различного рода информационные агрегаторы, которые в автоматическом режиме получают информацию о статистике по поиску ключевых слов, о позициях в поисковой выдаче, саму поисковую выдачу и т.д. Так же их услугами пользуются всевозможные спаммеры, рассылающие сообщения в социальных сетях, регистрирующие в автоматическом режиме учетные записи в почтовых сервисах, форумах и т.п.
По моему мнению, количество распознаваний капч для целей спама, хоть и носит негативный характер, все же является не основным направлением сбыта такой услуги, являясь всего лишь вершиной айсберга. В то время, как сам айсберг, это — ни что иное, как предоставление доступа к консолидированной информации.
Вот вам пример. В нашей стране информацию по почтовым отправлениям (трекингу), находящимся на территории РФ, можно получить только на государственном сайте Почта России. Год назад они добавили капчу в форму отслеживания отправления, что сделало невозможным получение информации по интересующим отправлениям в автоматическом режиме.
А теперь подумайте, откуда берется на этих сайтах информация по отправлениям, но уже без капчи?
Противостоять таким сервисам очень не просто. Этому способствует несколько факторов:
Все без исключения владельцы сервисов перенесли ответственность за загрузку самих картинок на своих клиентов, что, в конечном итоге, не позволят вычислять ip-адреса, их собственные или людей, которые занимаются самим распознаванием, для последующей блокировки.
Если клиент такого сервиса обладает необходимыми знаниями, то он без труда подключит базу прокси-серверов, для обхода возможных блокировок.
Стоит так же отметить, что не было ни одного сервиса, включая reCAPTCHA, способного эффективно противостоять этому.
Простота распознавания пользователем
Лучшим решением для пользователя будет обычный текст на картинке, добившись того, чтобы использование автоматических способов распознавания существенно усложнилось.
На помощь приходит свойство прозрачности форматов изображений gif или png. Нужно сделать так, чтобы при наложении нескольких частей картинки друг на друга, пользователь мог видеть неискаженный текст. Абсолютно любые браузеры поддерживают эту функцию, и даже IE6.
Теперь немного усложним. Для начала создадим несколько прозрачных изображений, по размерам, сходным с оригиналом, и раскидаем попиксельно все исходное изображение на эти, заранее подготовленные слои. При просмотре каждого отдельного слоя невозможно будет точно сказать, что именно изображено на картинке-оригинале. Автоматически собрать воедино такое решение все еще так же легко.
Продолжим усложнять, и сделаем наши слои случайных размеров и из случайных мест исходного изображения.
Теперь вынесем всю информацию о слоях в отдельный css-файл стилей, который будет описывать положение каждого слоя относительно левого верхнего угла исходного изображения. Однако, нам потребуется как-то идентифицировать слои и отличать их друг от друга. Для этого присвоим всем картинкам случайные идентификаторы, и опишем их.
Пример сформированной html-страницы:
<html>
<head>
...
<link rel="stylesheet" href="/captcha/954f836a78de1d510d28ce70fa7b6a4a.css">
...
</head>
<body>
...
<div>
<img id="ppaas-org-666ebb41ddda5d4ed6ca4a305ef26aa3" src="/captcha/5cd345e1be7b576c628f0fea59c771a7.gif" alt="">
<img id="ppaas-org-032a6f45b6215a130227c13d93d9243b" src="/captcha/3bae7faafef0fce7dd606e6076fcb491.gif" alt="">
<img id="ppaas-org-1ab330864b702c47f0cb87f436624f04" src="/captcha/639def2a37662dc524977eb23521470d.gif" alt="">
<img id="ppaas-org-d494ac99950d983bef6a5a396100d69a" src="/captcha/9077a2f8a464dd2b54c929133df5f916.gif" alt="">
<img id="ppaas-org-6316b3bc6d6f366eed48f32f6624b396" src="/captcha/607bcc4f9573d7591bddba72820f4460.gif" alt="">
<img id="ppaas-org-b22da7a9fc15987c5ae825e736591d03" src="/captcha/2e37508352cc31227adfd6ac0dfc5eb0.gif" alt="">
<img id="ppaas-org-048a808a9f2f6a88736c212f83c7a23a" src="/captcha/fbe29561657ab6e6f45969a4f208356d.gif" alt="">
<img id="ppaas-org-9416599dcb5540a858d9ed3eb8aaa6bd" src="/captcha/347c4ce6ff64ba6a6af0374ccea286c8.gif" alt="">
<img id="ppaas-org-d7eb49d155684558196821fdb03c608d" src="/captcha/88d31395d0024972f14125996d335529.gif" alt="">
<img id="ppaas-org-10c40dc3fbf7e1dc6a675cec03261105" src="/captcha/fab44113c2a37510d829114796d0fabb.gif" alt="">
<img id="ppaas-org-69f1bac3c78d00bf529d8aa518c4a7c3" src="/captcha/6cc4c1417c1844892dfdf73491cd99d6.gif" alt="">
<img id="ppaas-org-8041ac42a7f1d9fb21d959dd78fd0512" src="/captcha/3afcef8223bcf0771f5c11c93737534a.gif" alt="">
<img id="ppaas-org-d812b3fd1537b3852e8645979c8ce531" src="/captcha/d47a2fc0fac782964d4f57bae5c8e13f.gif" alt="">
<img id="ppaas-org-7830d62c3f648536431ef1ef8522ff4e" src="/captcha/14bd31e6112391aed8f9b45d3fbadf34.gif" alt="">
<img id="ppaas-org-0bb897e2fde54b338eec83c27f913170" src="/captcha/575834849cb528079840be97d77a31d3.gif" alt="">
<img id="ppaas-org-2d2a15cb75aa8fb806fc4c79c2fb559d" src="/captcha/a2f623a5fdfe46efdb3e5410a7c90b98.gif" alt="">
<img id="ppaas-org-1612c676e0333d9742913572ec60aee7" src="/captcha/aade2c5b4f5cbae1d2df9df3fc7c3dec.gif" alt="">
<img id="ppaas-org-34fa4c5d386ddb7b4cf48ce59b9cdc8d" src="/captcha/ddf335c0c060c87c362fd70f06a705aa.gif" alt="">
<img id="ppaas-org-e9747f4f8219bd8cb22d4592fbdfe677" src="/captcha/7605f696aa21366a9f870dcf26fb3788.gif" alt="">
</div>
...
</body>
</html>
Пример css-файла /captcha/954f836a78de1d510d28ce70fa7b6a4a.css:
#ppaas-org-666ebb41ddda5d4ed6ca4a305ef26aa3 {position: absolute; z-index: 371; margin: 0px 0 0 2px;}
#ppaas-org-032a6f45b6215a130227c13d93d9243b {position: absolute; z-index: 138; margin: 1px 0 0 24px;}
#ppaas-org-1ab330864b702c47f0cb87f436624f04 {position: absolute; z-index: 321; margin: 0px 0 0 80px;}
#ppaas-org-d494ac99950d983bef6a5a396100d69a {position: absolute; z-index: 320; margin: 4px 0 0 3px;}
#ppaas-org-6316b3bc6d6f366eed48f32f6624b396 {position: absolute; z-index: 196; margin: 1px 0 0 74px;}
#ppaas-org-b22da7a9fc15987c5ae825e736591d03 {position: absolute; z-index: 92; margin: 0px 0 0 49px;}
#ppaas-org-048a808a9f2f6a88736c212f83c7a23a {position: absolute; z-index: 501; margin: 6px 0 0 11px;}
#ppaas-org-9416599dcb5540a858d9ed3eb8aaa6bd {position: absolute; z-index: 733; margin: 0px 0 0 7px;}
#ppaas-org-d7eb49d155684558196821fdb03c608d {position: absolute; z-index: 54; margin: 0px 0 0 0px;}
#ppaas-org-10c40dc3fbf7e1dc6a675cec03261105 {position: absolute; z-index: 634; margin: 3px 0 0 13px;}
#ppaas-org-69f1bac3c78d00bf529d8aa518c4a7c3 {position: absolute; z-index: 543; margin: 1px 0 0 38px;}
#ppaas-org-8041ac42a7f1d9fb21d959dd78fd0512 {position: absolute; z-index: 506; margin: 1px 0 0 44px;}
#ppaas-org-d812b3fd1537b3852e8645979c8ce531 {position: absolute; z-index: 67; margin: 0px 0 0 0px;}
#ppaas-org-7830d62c3f648536431ef1ef8522ff4e {position: absolute; z-index: 247; margin: 0px 0 0 20px;}
#ppaas-org-0bb897e2fde54b338eec83c27f913170 {position: absolute; z-index: 350; margin: 3px 0 0 2px;}
#ppaas-org-2d2a15cb75aa8fb806fc4c79c2fb559d {position: absolute; z-index: 149; margin: 3px 0 0 45px;}
#ppaas-org-1612c676e0333d9742913572ec60aee7 {position: absolute; z-index: 429; margin: 1px 0 0 33px;}
#ppaas-org-34fa4c5d386ddb7b4cf48ce59b9cdc8d {position: absolute; z-index: 404; margin: 1px 0 0 2px;}
#ppaas-org-e9747f4f8219bd8cb22d4592fbdfe677 {position: absolute; z-index: 153; margin: 2px 0 0 9px;}
В дальнейшем этот процесс можно усложнять до бесконечности — на одних слоях рисовать лишние пиксели, на последующих слоях их закрашивать и т.д.
Не правда ли, все гениальное – просто?!
Защита от автоматизированного распознавания
Большой ошибкой, по моему мнению, является блокирование ip-адресов, которые многократно вводили значения капчей неверно.
Кто угодно может вводить сколько угодно раз неверные значения, и это ни на что не влияет. Капча как раз и рассчитана на такую фильтрацию.
Нужно блокировать только тех, кто уже указал X правильных значений. И разблокировать, если в течении N минут этот пользователь больше не вводил правильных значений.
Иными словами, ip-адрес посетителя сайта, который был замечен за правильным вводом Х капч за последние N минут, автоматически должен получить отказ.
Стоит так же отметить, что такой подход начинает эффективно работать в случае единого, централизованного сервиса.
Идеальным решением является такое, в котором подобные ограничения не являются обязательными, и имеется возможность изменения этих параметров под свои требования.
Кто-то из вас захочет сделать ограничения в 1 капчу раз в 30 минут, кто-то захочет 5 капч в течение 5 часов, а кто-то и вовсе предпочтет отключить проверку.
В случае использования такого ограничения, становится абсолютно не важно, каким способом происходит автоматизированное распознавание капчи.
Любое из них перестает быть эффективным решением.
Вы наверняка спросите: Что мешает использовать огромное множество прокси-серверов?
Прокси-сервера все берут из свободного доступа, с одинаковых сайтов по всему миру. Последний раз, когда мне приходилось ими пользоваться, реально работающими были около 20000 серверов, где 3000 из них работали постоянно.
Процесс поиска/создания собственных прокси-серверов для большинства затруднителен. В этот список попадают те сервера, которые были взломаны брутфорсом, заражены вирусами и т.д. Это специфическая ниша, реально доступная лишь немногим.
Если бы только один атакующий эксклюзивно владел бы такой базой в 20000 ip-адресов, он бы мог претендовать на распознавание 40000 капчей в течение каждого часа.
Это 960000 капчей в сутки – отличный результат!
А теперь представьте, что все атакующие полностью или частично владеют этой базой. Децентрализованное ее использование приведет к перманентному отказу в обслуживание по всем из них.
Рассмотрим пример. Вы только что использовали один ip-адрес для успешного распознавания капчи любым способом, и теперь ждете около полу часа, чтобы не попасть под блокировку, для совершения повторной попытки. Но оказывается, пока вы ждали, кто-то еще использовал этот адрес для ввода капчи на другом интересующем его ресурсе.
Такая попытка обернется ему отказом, так как этот ip-адрес был уже задействован вами несколькими минутами ранее. Вы, дождавшись, когда истечет время, распознаете капчу второй раз, но получаете отказ.
И так все начинает идти по кругу и до бесконечности.
Protection Privacy as a Service
До этого момента это была лишь теория. Но вы можете посмотреть на то, как это работает на практике – http://ppaas.org.
Сервис позволяет защищать любую текстовую информацию, такую как адреса email, телефонные номера и т.п.
UPD: Пожалуйста читайте пост внимательно, графическое исполнение, это просто для удобства прочтения, основная защита от автоматизированного распознавания заключается в другом.
Спасибо за внимание. Вместе мы сделаем этот мир лучше.
- Что за ошибка?
- Описание CAPTCHA
- Способы исправить ошибку
- Заключение
Данный материал расскажет о причинах появления такой ошибки, а также способы ее исправить.
Означает что введенный код капчи не соответствует с картинки, необходимо повторить попытку.
Иногда, когда ошибка возникает при корректном вводе кода капчи — это временный баг. Необходимо подождать, а лучше — написать в службу поддержки Steam, подробно описав проблему.
Пройти тест CAPTCHA также может потребоваться при регистрации аккаунта:
Что такое CAPTCHA?
Простыми словами — специальный тест, который сможет пройти только человек, не под силу роботам.
Необходим против спамеров, которые используют специальный софт для автоматической регистрации на веб-сайтах и рассылки сообщений.
CAPTCHA может представлять из себя код из цифр и букв, который нужно ввести с картинки, или немного сложнее вариант — пройти тест, выбрав картинки определенной тематики.
Способы исправить ошибку
- Попробуйте повторно ввести символы кода. Обновите страницу в браузере не из кэша — используя комбинацию кнопок Ctrl + F5.
- Проверьте авторизацию учетной записи Social Club.
- Попробуйте использовать другой браузер, а лучше всего в Хроме откройте гостевой режим (правой угол > иконка профиля > пункт гостевой режим, не путать с приватным).
- Очистите куки/временные данные игрового клиента Steam (основное меню Стим > настройки > браузер).
- Возможно на ПК установлен софт, блокирующий рекламу, например Ad Muncher. Попробуйте также временно отключить антивирус.
- Обойти ввод капчи можно попробовав восстановить почту через браузер.
- Переподключите интернет, отключите браузерные блокировщики рекламы и расширения для доступа к заблокированным сайтам.
- Некоторые советуют сменить язык Steam на английский, после чего проблемы с качпей могут исчезнуть.
- В крайнем случае — можно переустановить Стим, сохранив заранее личную библиотеку. Однако перед все же лучше написать в техподдержку.
РЕКЛАМА
Заключение
Выяснили:
- Проверка CAPTCHA — специальный тест против роботов, точнее спамеров, тест может пройти только человек.
- Программа тест пройти не сможет, особенно когда касается не просто ввода кода с изображения, а теста на выбор тематических картинок.
- При возникновении ошибки первым делом попробуйте выполнить авторизацию в гостевом режиме браузера Google Chrome (не путать с приватным). При отсутствии эффекта — используйте другие способы, предложенные в статье.
Удачи.
What to Do When CAPTCHAs Won’t Work
How to Deal With Invalid CAPTCHA Codes
CAPTCHAs are distorted letters and numbers that aim to block bots and scripts from submitting forms online. This is a benefit for real people who want to enter sweepstakes, because it helps prevent cheaters from entering.
However, bots become more adept at deciphering CAPTCHAs over time, which means programmers have to make CAPTCHAs increasingly difficult to read. And that can make entering a form frustrating for real humans as well.
When you enter an invalid CAPTCHA, you won’t be able to submit your form. You’ll be asked to try again, or even blocked from trying to enter at all.
The most common reason why a real person would have multiple invalid CAPTCHA responses is that they are having trouble reading the letters and characters — which are, after all, purposely hard to read.
Luckily, there are some strategies that can help. Try these tips if you can’t get a CAPTCHA code to work.
If at First You Don’t Succeed, Load, Load Again
Frustrated by CAPTCHAs? Here Are Some Strategies to Try.
Hero Images/Getty Images
If your CAPTCHA isn’t being accepted, the problem might not be with your reading or your typing — the code might simply have expired. If you open a page and don’t submit your entry form right away, your CAPTCHA might be invalid.
For example, a strategy to enter sweepstakes faster is to open several entry forms at the same time, fill them out, and submit them one after another. But when you do this, it can take a while to actually fill out the entry form.
Many CAPTCHAs have an anti-hacking feature that causes them to expire after a few minutes. This prevents hackers from, say, sending the CAPTCHA image to a CAPTCHA mill service, where low-wage workers crack the code and send it back to a hacker.
To see if that’s the problem, try reloading the page to get a new code, then fill out and submit the form right away.
Llamas, Iguanas, and the Number 1
Depending on the font a CAPTCHA uses, a lower-case “l” as in “llama” can look exactly the same as an uppercase “I” as in “Iguana”, or even the number “1.” Confusion between these three characters could be the reason why you can’t get the CAPTCHA to work properly.
If your CAPTCHA won’t submit, check for these symbols. If it contains one of them, try the other possibilities.
O, Those Zeros
It can be very difficult to tell the difference between an uppercase letter “O” as in “Ocean” and the numeral “0” or zero. This is especially true when the CAPTCHA has distorted the characters, they’re lying sideways, or otherwise don’t look the way they normally do.
If you’ve been trying the letter O or the number zero and the CAPTCHA won’t go through, try the other option.
Forget 2, 4 the Problem’s 6 and 8
The numbers “6” and “8” are clearly different, right? Well, they are until CAPTCHAs put squiggly lines behind them to confuse automatic image readers. One of those squiggles could easily make it hard to tell the difference between the two numerals.
Squiggles can confuse many other characters as well. Depending on their placement and font, a “c” can look like an “o,” an “o” look like an “a,” and other characters can be hard to distinguish.
If your CAPTCHA is being rejected, take a close look to make sure that your eyes aren’t being thrown off by background graphics.
A Case of the Wrong Case
Some CAPTCHAs don’t care if the letters you enter are upper or lowercase, but others are case-sensitive. That means that your shift key might be the reason why your CAPTCHA isn’t going through.
If the CAPTCHA shows both upper and lowercase letters, be sure to enter your characters exactly as displayed. If all the letters have the same case, you might be able to enter it either way, but if you are getting invalid CAPTCHAs, try capitalizing the characters exactly as they’re shown.
When Case Sensitivity Is Too Sensitive
Of course, case-sensitive captchas open the door for even more confusing letters. For example, an uppercase “O” can look a lot like a lowercase “o” when the letters are different sizes; the same is true with “C” and “c.”
If your CAPTCHA is being stubborn, try changing the case of letters that look the same in upper- and lower-case to see if it helps.
When the Eyes Don’t Have It
One of the drawbacks of CAPTCHAs is that they are difficult for people with visual impairments to use. To get around this problem, some sweepstakes offer an audio version of their captchas.
If this is an option, try listening to a hard-to-enter code. Look for a small speaker symbol near the CAPTCHA to turn on audio mode. It’s often easier to hear the code than to read it.
There’s No Shame in Admitting Defeat
If you’re still having trouble with a CAPTCHA, you don’t have to let it drive you crazy. Instead, try reloading it to get a different code that might be easier to decipher.
You can usually do this by reloading the page in your browser. Some entry forms also offer the option to click on the code or press a reload button to get an easier-to-read captcha.
Don’t Get Frustrated!
When you enter sweepstakes, annoying CAPTCHAs are just one of the frustrations you might face. Remember, being a winner is a marathon, not a sprint. Be patient and persistent and the prizes will come!