Капчи проверка: что это, как установить Google Recaptcha в WordPress плагином

Содержание

что это, как установить Google Recaptcha в WordPress плагином

Что такое капча

Капча (англ. captcha) — аббревиатура от «Completely Automatic Public Turing Test to Tell Computers and Humans Apart» (полностью автоматический тест Тьюринга для отличния компьютеров от людей). По сути, это защита от заполнения и отправки любых форм ботами и спамерами в автоматическом режиме, будь то запрос в поисковой системе или регистрация в каком-либо сервисе, отправка комментария под статьёй или заполнение анкеты на сайте. Как правило, представляет собой картинку с со случайным текстом, цифрами, буквами, значение которой нужно записать в специальную форму.

Пример капчи во Вконтакте

Эффект рассчитан на то, что боты картинку не распознают, а человек — сможет. Соответственно, спамеры в автоматическом режиме и боты проверку не пройдут, и спам тоже.

Виды капчи, какая она бывает

Простейшая капча

Как было сказано выше, как правило, капча — это картинка с цифрами и буквами. Однако, это не единственная её форма, ведь всё зависит от вашей фантазии.

Самая простая капча представляет собой чекбокс, куда надо поставить галочку в подтверждение о том, что вы — не робот.

Капча на сайте МТС при отправке бесплатных sms

Бывают такие, что приходится выбирать картинки по какому-то признаку. Например, подобная схема реализована на сайте МТС в разделе отправки бесплатных сообщений SMS.
Собственно, видов превеликое множество. Как же выбрать то, что нужно? Лично я рекомендую пользоваться самописными вариантами, ибо тут всё будет зависеть от фантазии вашей или ваших программистов. Если капча получится оригинальной, то такую вещь обойти спамерам будет намного сложнее. Но, так как это довольно накладно либо по времени, либо по деньгам, советую воспользоваться сервисом Google reCAPTCHA

Google ReCaptcha — как установить и настроить

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

Проверка CAPTCHA / Хабр

В этой статье я расскажу о нескольких способах проверки поля CAPTCHA в html формах.

Думаю, объяснять, что такое CAPTCHA, смысла не имеет, поэтому сразу перейдем к ее использованию.

На сегодняшний день CAPTCHA используется как один из основных способов защиты от спама, поэтому от ее эффективности в значительной степени зависит нормальная работа сайта.

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

Какой бы из этих способов вы не выбрали, принцип работы с CAPTCHA остается неизменным.

При создании формы с CAPTCHA вы должны сохранить правильный ответ, а после получения данных формы проверить ответ посетителя.

Более наглядно этот процесс показан на рисунке.

Наибольший интерес здесь представляют две операции:

1. сохранение данных CAPTCHA;
2. проверка полученного от посетителя значения.

Существуют три основных способа сохранения данных CAPTCHA.
1. с помощью скрытых полей формы;
2. с помощью сессий;
3. с помощью базы данных.

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

Главное преимущество такого метода – простота реализации. Нужно просто сравнить значения двух полей формы (скрытого и заполненного посетителем).
Сохранение данных в сессии предоставляет более высокий уровень безопасности.

Правильные ответы хранятся на сервере и недоступны посетителям. Кроме того, в этом случае легко ограничить «срок жизни» CAPTCHA, просто задав «срок жизни» сессии.

Правда тут возникает небольшая проблема. Представьте, что вы создали CAPTCHA, которая использует изображения с текстом. Эти изображения создаются при каждом обращении к форме и сохраняются в какой-нибудь папке.

Что произойдет с этими файлами если сессия будет просрочена? Ответ – ничего. Они будут скапливаться, и занимать место. Т.е. нужен скрипт, периодически удаляющий устаревшие файлы.

Использование базы данных для хранения данных CAPTCHA тоже достаточно безопасный вариант, который обладает своими преимуществами и недостатками.

Главный недостаток по сравнению с сессиями – необходимость отличать одного посетителя от другого. Для этого можно использовать его IP адрес (или комбинацию IP адреса и данных браузера (например, использовать заголовок User-Agent)).

Таким образом, для хранения данных CAPTCHA можно использовать таблицу с такими полями:

captcha_id – первичный ключ;

captcha_time – время создания CAPTCHA;
ip_address – адрес посетителя;
captcha_text – текст, написанный на рисунке;
pic_name – имя рисунка.

В этом случае для получения данных CAPTCHA можно использовать запрос следующего вида:

SELECT COUNT(*) AS count FROM captcha WHERE word = $userValue AND ip_address = $userIP AND captcha_time > $expTime

Преимущество по сравнению с сессиями – не нужны скрипты удаления рисунков (достаточно простого SQL запроса).

Полный пример реализации такой CAPTCHA на php приведен в статье: «Добавляем CAPTCHA к форме».
Также можно посмотреть live demo.

Тестируем универсальную распознавалку CAPTCHA — «Хакер»

Содержание статьи

Есть разные способы для обхода CAPTCHA, которыми защищены сайты. Во-первых, существуют специальные сервисы, которые используют дешевый ручной труд и буквально за $1 предлагают решить 1000 капч. В качестве альтернативы можно попробовать написать интеллектуальную систему, которая по определенным алгоритмам будет сама выполнять распознавание. Последнее теперь можно реализовать с помощью специальной утилиты.

 

Решить CAPTCHA

Распознавание CAPTCHA — задача чаще всего нетривиальная. На изображение необходимо накладывать массу различных фильтров, чтобы убрать искажения и помехи, которыми разработчики желают укрепить стойкость защиты. Зачастую приходится реализовывать обучаемую систему на основе нейронные сетей (это, к слову, не так сложно, как может показаться), чтобы добиться приемлемого результата по автоматизированному решению капч. Чтобы понять, о чем я говорю, лучше поднять архив и прочитать замечательные статьи «Взлом CAPTCHA: теория и практика. Разбираемся, как ломают капчи» и «Подсмотрим и распознаем. Взлом Captcha-фильтров» из #135 и #126 номеров соответственно. Сегодня же я хочу рассказать тебе о разработке TesserCap, которую автор называет универсальной решалкой CAPTCHA. Любопытная штука, как ни крути.

Схема анализа CAPTCHA-изображений с помощью TesserCap
Схема анализа CAPTCHA-изображений с помощью TesserCap

 

Первый взгляд на TesserCap

Что сделал автор программы? Он посмотрел, как обычно подходят к проблеме автоматизированного решения CAPTCHA и попробовал обобщить этот опыт в одном инструменте. Автор заметил, что для удаления шумов с изображения, то есть решения самой сложной задачи при распознавании капч, чаще всего применяются одни и те же фильтры. Получается, что если реализовать удобный инструмент, позволяющий без сложных математических преобразований накладывать фильтры на изображения, и совместить его с OCR-системой для распознавания текста, то можно получить вполне работоспособную программу. Это, собственно, и сделал Гурсев Сингх Калра из компании McAfee. Зачем это было нужно? Автор утилиты решил таким образом проверить, насколько безопасны капчи крупных ресурсов. Для тестирования были выбраны те интернет-сайты, которые являются самыми посещаемыми по версии известного сервиса статистики. Кандидатами на участие в тестировании стали такие монстры, как Wikipedia, eBay, а также провайдер капч reCaptcha.

Если рассматривать в общих чертах принцип функционирования программы, то он достаточно прост. Исходная капча поступает в систему предварительной обработки изображений, очищающей капчу от всяких шумов и искажений и по конвейеру передающей полученное изображение OCR-системе, которая старается распознать текст на нем. TesserCap имеет интерактивный графический интерфейс и обладает следующими свойствами:

  1. Имеет универсальную систему предварительной обработки изображений, которую можно настроить для каждой отдельной капчи.
  2. Включает в себя систему распознавания Tesseract , которая извлекает текст из предварительно проанализированного и подготовленного CAPTCHA-изображения.
  3. Поддерживает использование различных кодировок в системе распознавания.

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

Предварительная обработка изображений и извлечение текста из капчиПредварительная обработка изображений и извлечение
текста из капчи

 

About

Мы не могли не сказать хотя бы пары слов об авторе замечательной утилиты TesserCap. Его зовут Гурсев Сингх Калра. Он работает главным консультантом в подразделении профессиональных услуг Foundstone, которое входит в состав компании McAfee. Гурсев выступал на таких конференциях, как ToorCon, NullCon и ClubHack. Является автором инструментов TesserCap и SSLSmart. Помимо этого, разработал несколько инструментов для внутренних нужд компании. Любимые языки программирования — Ruby, Ruby on Rails и C#. Подразделение профессиональных услуг Foundstone®, в котором он трудится, предлагает организациям экспертные услуги и обучение, обеспечивает постоянную и действенную защиту их активов от самых серьезных угроз. Команда подразделения профессиональных услуг состоит из признанных экспертов в области безопасности и разработчиков, имеющих богатый опыт сотрудничества с международными корпорациями и государственными

 

Интерфейс. Вкладка Main

После запуска программы перед нами предстает окно с тремя вкладками: Main, Options, Image Preprocessing. Основная вкладка содержит элементы управления, которые используются для запуска и остановки теста CAPTCHA-изображения, формирования статистики теста (сколько отгадано, а сколько нет), навигации и выбора изображения для предварительной обработки. В поле для ввода URL-адреса (элемент управления № 1) должен быть указан точный URL-адрес, который веб-приложение использует для извлечения капч. URL-адрес можно получить следующим образом: кликнуть в правой части CAPTCHA-изображения, скопировать или просмотреть код страницы и извлечь URL-адрес из атрибута src тега изображения

. Например, в случае с xakep.ru это адрес www.xakep.ru/common/rateit/captcha.asp?name=xakep.ru. Рядом со строкой адреса находится элемент, задающий количество капч, которые нужно загрузить для тестирования. Так как приложение может одновременно показывать только 12 изображений, в нем предусмотрены элементы управления для постраничного пролистывания загруженных капч. Таким образом, при масштабном тестировании мы сможем пролистывать загруженные капчи и просматривать результаты их распознавания. Кнопки Start и Stop запускают и останавливают тестирование соответственно. После тестирования нужно оценить результаты распознавания изображений, отметив каждый из них как корректный или некорректный. Ну и последняя, наиболее значимая функция служит для передачи любого изображения в систему предварительной обработки, в которой задается фильтр, удаляющий с изображения шумы и искажения. Чтобы передать картинку в систему предварительной обработки, надо щелкнуть на требуемом изображении правой кнопкой мыши и в контекстном меню выбрать пункт Send To Image Preprocessor.

 

Интерфейс. Вкладка Options

Вкладка опций содержит различные элементы управления для конфигурирования TesserCap. Здесь можно выбрать OCR-систему, задать параметры веб-прокси, включить переадресацию и предварительную обработку изображений, добавить пользовательские HTTP-заголовки, а также указать диапазон символов для системы распознавания: цифры, буквы в нижнем регистре, буквы в верхнем регистре, специальные символы.

Теперь о каждой опции поподробней. Прежде всего, можно выбрать OCR-систему. По умолчанию доступна только одна — Tesseract-ORC, так что заморачиваться с выбором тут не придется. Еще одна очень интересная возможность программы — выбор диапазона символов. Возьмем, например, капчу с xakep.ru — видно, что она не содержит ни одной буквы, а состоит только из цифр. Так зачем нам лишние символы, которые только увеличат вероятность некорректного распознавания? Конечно, они нам ни к чему, поэтому при тестировании капчи xakep.ru лучше указать, что она содержит одни цифры: Numerics. Но что если выбрать Upper Case? Сможет ли программа распознать капчу, состоящую из заглавных букв любого языка? Нет, не сможет. Программа берет список символов, используемых для распознавания, из конфигурационных файлов, находящихся в \Program Files\Foundstone Free Tools\TesserCap 1.0\tessdata\configs. Поясню на примере: если мы выбрали опции Numerics и Lower Case, то программа обратится к файлу lowernumeric, начинающемуся с параметра tesseditcharwhitelist. За ним следует список символов, которые будут использоваться для решения капчи. По умолчанию в файлах содержатся только буквы латинского алфавита, так что для распознавания кириллицы надо заменить или дополнить список символов.

Теперь немного о том, для чего нужно поле Http Request Headers. Например, на некоторых веб-сайтах нужно залогиниться, для того чтобы увидеть капчу. Чтобы TesserCap смогла получить доступ к капче, программе необходимо передать в запросе HTTP такие заголовки, как Accept, Cookie и Referrer и т. д. Используя веб-прокси (Fiddler, Burp, Charles, WebScarab, Paros и т. д.), можно перехватить посылаемые заголовки запроса и ввести их в поле ввода Http Request Headers. Еще одна опция, которая наверняка пригодится, — это Follow Redirects. Дело в том, что TesserCap по умолчанию не следует переадресации. Если тестовый URL-адрес должен следовать переадресации для получения изображения, нужно выбрать эту опцию.

Ну и осталась последняя опция, включающая/отключающая механизм предварительной обработки изображений, который мы рассмотрим далее. По умолчанию предварительная обработка изображений отключена. Пользователи сначала настраивают фильтры предварительной обработки изображений согласно тестируемым CAPTCHA-изображениям и затем активируют этот модуль. Все CAPTCHA-изображения, загружаемые после включения опции Enable Image Preprocessing, проходят предварительную обработку и уже затем передаются в OCR-систему Tesseract для извлечения текста.

 

Интерфейс. Вкладка Image Preprocessing

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

Этап 1. Инверсия цвета

На данном этапе инвертируются цвета пикселей для CAPTCHA-изображений. Код, представленный ниже, демонстрирует, как это происходит:

for(each pixel in CAPTCHA)
{
    if (invertRed is true)
        new red = 255 – current red
    if (invertBlue is true)
        new blue = 255 – current blue
    if (invertGreen is true)
        new green = 255 – current green
}

Инверсия одного или нескольких цветов часто открывает новые возможности для проверки тестируемого CAPTCHA-изображения.

Этап 2. Изменение цвета

На данном шаге можно изменить цветовые компоненты для всех пикселей изображения. Каждое числовое поле может содержать 257 (от  1 до 255) возможных значений. Для RGB-компонентов каждого пикселя в зависимости от значения в поле выполняются следующие действия:

  1. Если значение равно -1, соответствующий цветовой компонент не меняется.
  2. Если значение не равно -1, все найденные компоненты указанного цвета (красный, зеленый или синий) меняются в соответствии с введенным в поля значением. Значение 0 удаляет компонент, значение 255 устанавливает его максимальную интенсивность и т. д.

Этап 3. Градация серого (Шкала яркости)

На третьем этапе все изображения конвертируются в изображения в градациях серого. Это единственный обязательный этап преобразования изображений, который нельзя пропустить. В зависимости от выбранной кнопки выполняется одно из следующих действий, связанных с цветовой составляющей каждого пикселя:

  1. Average -> (Red + Green + Blue)/3.
  2. Human -> (0.21 * Red + 0.71 * Green + 0.07 * Blue).
  3. Average of minimum and maximum color components -> (Minimum (Red + Green + Blue) + Maximum (Red + Green + Blue))/2.
  4. Minimum -> Minimum (Red + Green + Blue).
  5. Maximum -> Maximum (Red + Green + Blue).

В зависимости от интенсивности и распределения цветовой составляющей CAPTCHA любой из этих фильтров может улучшить извлекаемое изображение для дальнейшей обработки.

Изменение помех при изменении различных диапазонов цветового значения пикселей в сторону белого или черногоИзменение помех при изменении различных диапазонов цветового значения пикселей в сторону белого или черного

Этап 4. Сглаживание и резкость

Чтобы усложнить извлечение текста из CAPTCHA-изображений, в них добавляют шум в форме однопиксельных или многопиксельных точек, посторонних линий и пространственных искажений. При сглаживании изображения возрастает случайный шум, для устранения которого потом используются фильтры Bucket или Cutoff. В числовом поле Passes следует указать, сколько раз нужно применить соответствующую маску изображения перед переходом на следующий этап. Давай рассмотрим компоненты фильтра для сглаживания и повышения резкости. Доступны два типа масок изображения:

  1. Фиксированные маски. По умолчанию TesserCap имеет шесть наиболее популярных масок изображения. Эти маски могут сглаживать изображение или повышать резкость (преобразование Лапласа). Изменения отображаются сразу же после выбора маски с помощью соответствующих кнопок.
  2. Пользовательские маски изображения. Пользователь также может настроить пользовательские маски обработки изображений, вводя значения в числовые поля и нажимая кнопку Save Mask. если сумма коэффициентов в этих окошках меньше нуля, выдается ошибка и маска не применяется. При выборе фиксированной маски кнопку Save Mask использовать не требуется.

Этап 5. Вводим оттенки серого

На этом этапе обработки изображения его пиксели могут быть окрашены в широкий диапазон оттенков серого. Этот фильтр отображает распределение градаций серого в 20 бакетах (bucket)/диапазонах. Процент пикселей, окрашенных в оттенки серого в диапазоне от 0 до 12, указан в бакете (bucket) 0, процент пикселей, окрашенных в оттенки серого в диапазоне от 13 до 25, — в бакете (bucket) 1 и т. д. Пользователь может выбрать одно из следующих действий для каждого диапазона значений, соответствующих оттенкам серого:

  1. Оставить без изменения (Leave As Is).
  2. Заменить белым (White).
  3. Заменить черным (Black).

Благодаря этим опциям можно контролировать различные диапазоны оттенков серого, а также сокращать/удалять шум путем, меняя оттенки серого в сторону белого или черного.

Этап 6. Настройка отсечения (cutoff)

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

if (pixel’s grayscale value <= Cutoff)
    pixel grayscale value = (0 OR 255) -> в зависимости, от того какая опция выбрана (<= или => : Set Every Pixel with value <=/=> Threshold to 0. Remaining to 255)

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

Этап 7: Обтесывание (chopping)

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

Этап 8: Изменение ширины границы

Как утверждает автор утилиты, в ходе первоначальных исследований и разработки TesserCap он неоднократно отмечал, что, когда CAPTCHA-изображения имеют толстую граничную линию и ее цвет отличается от основного фона CAPTCHA, некоторые системы OCR не могут распознать текст. Данный фильтр предназначен для обработки граничных линий и их изменения. Граничные линии с шириной, которая указана в числовом поле, окрашиваются в черный или белый по выбору пользователя.

Этап 9: Инверсия серого оттенка

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

for(each pixel in CAPTCHA)
    new grayscale value = 255 – current grayscale value

Этап 10: Проверка распознавания капчи

Цель данного этапа — передать предварительно обработанное CAPTCHA-изображение OCR-системе для распознавания. Кнопка Solve берет изображение после фильтра инверсии серого, отправляет в OCR-систему для извлечения текста и отображает возвращенный текст в графическом интерфейсе. Если распознанный текст совпадает с текстом на капче, значит, мы правильно задали фильтр для предварительной обработки. Теперь можно перейти на вкладку опций и включить опцию предварительной обработки (Enable Image Preprocessing) для обработки всех последующих загруженных капч.

 

Распознаем капчи

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

Результат анализа капчи xakep.ru с предварительной обработкой изображений. Судя по результатам, фильтр подобрать не удалосьРезультат анализа капчи xakep.ru с предварительной
обработкой изображений. Судя по результатам, фильтр
подобрать не удалось

Итак, запускаем утилиту и идем на сайт журнала. Видим список свежих новостей, заходим в первую попавшуюся и пролистываем до места, где можно оставить свой комментарий. Ага, коммент так просто не добавить (еще бы, а то бы давно уже всё заспамили) — нужно вводить капчу. Ну что ж, проверим, можно ли это автоматизировать. Копируем URL картинки и вставляем его в адресную строку TesserCap. Указываем, что нужно загрузить 12 капч, и нажимаем Start. Программа послушно загрузила 12 картинок и попыталась их распознать. К сожалению, все капчи оказались либо не распознаны, о чем свидетельствует надпись -Failed- под ними, либо распознаны неправильно. В общем, неудивительно, так как посторонние шумы и искажения не были удалены. Этим мы сейчас и займемся. Жмем правой кнопкой мыши на одну из 12 загруженных картинок и отправляем ее в систему предварительной обработки (Send To Image Preprocessor). Внимательно рассмотрев все 12 капч, видим, что они содержат только цифры, поэтому идем на вкладку опций и указываем, что распознавать нужно только цифры (Character Set = Numerics). Теперь можно переходить на вкладку Image Preprocessing для настройки фильтров. Сразу скажу, что поигравшись с первыми тремя фильтрами («Инверсия цвета», «Изменение цвета», «Градация серого») я не увидел никакого положительного эффекта, поэтому оставил там всё по дефолту. Я выбрал маску Smooth Mask 2 и установил количество проходов равным одному. Фильтр Grayscale buckets я пропустил и перешел сразу к настройке отсечения. Выбрал значение 154 и указал, что те пиксели, которых меньше, нужно установить в 0, а те, которых больше, в 255. Чтобы избавиться от оставшихся точек, включил chopping и изменил ширину границы до 10. Последний фильтр включать не было смысла, поэтому я сразу нажал на Solve.

На капче у меня было число 714945, но программа распознала его как 711435. Это, как видишь, совершенно неверно. В конечном итоге, как я ни бился, нормально распознать капчу у меня так и не получилось. Пришлось экспериментировать с pastebin.com, которые без проблем удалось распознать. Но если ты окажешься усидчивее и терпеливее и сумеешь получить корректное распознавание капч с xakep.ru, то сразу заходи на вкладку опций и включай предварительную обработку изображений (Enable Image Preprocessing). Затем переходи на Main и, кликнув на Start, загружай свежую порцию капч, которые теперь будут предварительно обрабатываться твоим фильтром. После того, как программа отработает, отметь корректно/некорректно распознанные капчи (кнопки Mark as Correct/Mark as InCorrect). С этого момента можно посматривать сводную статистику по распознаванию с помощью Show Statistics. В общем-то, это своеобразный отчет о защищенности той или иной CAPTCHA. Если стоит вопрос о выборе того или другого решения, то с помощью TesserCap вполне можно провести свое собственное тестирование.

 

Результат проверки CAPTCHA на популярных сайтах

Веб-сайт и доля распознанных капч:

  • Wikipedia > 20–30 %
  • Ebay > 20–30 %
  • reddit.com > 20–30 %
  • CNBC > 50 %
  • foodnetwork.com > 80–90 %
  • dailymail.co.uk > 30 %
  • megaupload.com > 80 %
  • pastebin.com > 70–80 %
  • cavenue.com > 80 %

 

Заключение

CAPTCHA-изображения являются одним из самых эффективных механизмов по защите веб-приложений от автоматизированного заполнения форм. Однако слабые капчи смогут защитить от случайных роботов и не устоят перед целенаправленными попытками их решить. Как и криптографические алгоритмы, CAPTCHA-изображения, тщательно протестированные и обеспечивающие высокий уровень безопасности, являются самым лучшим способом защиты. На основе статистики, которую привел автор программы, я выбрал для своих проектов reCaptcha и буду рекомендовать ее всем своим друзьям — она оказалось самой стойкой из протестированных. В любом случае не стоит забывать, что в Сети есть немало сервисов, которые предлагают полуавтоматизированное решение CAPTCHA. Через специальный API ты передаешь сервису изображение, а тот через непродолжительное время возвращает решение. Решает капчу реальный человек (например, из Китая), получая за это свою копеечку. Тут уже никакой защиты нет. 🙂

 

Что такое капча? Как ввести или убрать капчу?

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

Что это такое?

Кстати, а что такое капча? Представьте, что вы зашли на какой-нибудь популярный файлообменник. Чтобы скачать файл в бесплатном режиме, вам придется ввести в специальное поле некий набор символов (зачастую бессмысленных), который следует брать с рисунка напротив.

Задача осложняется тем, что символы эти порой совершенно невозможно разобрать, так как их сознательно делают нечитаемыми.

Для чего она нужна?

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

Да, были такие времена, когда о капче вообще никто не знал. Появилась она сравнительно недавно. Произошло это в тот же период, когда на просторах Рунета расплодилась масса ботов, при помощи которых предприимчивые граждане оставляли в комментариях объявления рекламного характера, бесплатно скачивали файлы и творили прочие безобразия.

Конечно, на многих ресурсах за порядком следили администраторы, но в большинстве сервисов для ведения блогов нагрузка на них оказалась такая, что они банально перестали справляться. Вот тогда пользователи и узнали о том, что такое капча! Знакомство оказалось достаточно неприятным.

Если говорить совсем точно, то сама технология первоначально была создана в 2000 году. Изначально она предназначалась только лишь для определения «человечности» вашего собеседника в интернете: тогда ни одна программа для капчи (для ее распознавания, точнее) просто не была создана.

В чем же ее недостаток?

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

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

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

Если вы слишком увлечетесь капчей, быстро растеряете многих активных пользователей. Нет пользователей – нет денег от рекламы. Кроме того, большая часть нормальных ресурсов автоматом распознает спам в комментариях, так что смысла в дополнительной защите чаще всего нет никакого.

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

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

Так что, даже с точки зрения получения прибыли, сама идея капчи не выглядит столь уж привлекательной.

Что же делать?

А как убрать капчу, реально ли вообще это сделать? Здесь ситуация достаточно неоднозначная. Дело в том, что на многих сайтах, которые используют такой тип защиты от спама, капчу прочитать с первого раза удается далеко не каждому пользователю, не говоря уже о каких-то приложениях.

Простые варианты можно распознать при помощи небольшой утилиты Screenshot Reader, которая входит в состав программного пакета ABBYY FineReader. Но читает она только самые простые формы капчи, которые сможет без особого труда опознать любой нормальный пользователь. Кроме того, сам процесс не получится автоматизировать, так как для распознавания необходимо вручную выделять интересующий вас диапазон.

Ввод капчи

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

Кроме того, ошибки при написании символов нередко случаются в том случае, когда в вашем браузере отключены JavaScript. Не забывайте также о необходимости Cookie, так как они помогут сайту вас «узнавать», избавляя от постоянного прохождения надоевшей защиты.

Наконец, обращайте внимание на то, что написано на главной странице сайта. Как правило, капча для сайта бывает подробно описана в пояснительной записке или отдельной статье. Отличный пример – файлообменный сервис Rapidshare, который в свое время вводил уникальную капчу.

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

А он заключался в том, что на тех буквах и цифрах, которые нужно было вводить в соответствующее поле, сидели котики. Сколько в свое время было сказано нелицеприятных слов в адрес создателей такой системы! В конце концов, от нее отказались под давлением пользовательской общественности.

Покупаем «противоядие»

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

Особый интерес в этом ключе представляют разработки компании CMS Bitrix, которая распространяет действительно эффективные программы, которые справляются с капчей на большинстве популярных сайтов. Разработчики утверждают, что эффективность их творения находится в пределах 95 %. В зависимости от типа защиты, ее сложности и конкретного сайта, разработка методов ее защиты может обойтись вам в пару тысяч долларов, а то и больше.

Кроме того, на некоторых ресурсах есть настолько изощренная защита, что ее и человеку-то разгадать непросто!

Можно ли заработать на ее вводе?

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

На наш взгляд (быть может, довольно субъективный), заниматься этим делом не стоит. Вы потратите огромное количество нервов, сил и трафика. А оплата такого «легкого заработка» просто поражает: просидев целый день возле компьютера, с маниакальным упорством занимаясь вбиванием капчи, вы заработаете максимум пару долларов. А оно вам надо? Наверняка нет.

Универсальный выход

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

Как убрать капчу с вашего блога?

Надеемся, что вы сделали правильные выводы, прочитав большую часть нашей статьи. А потому рассмотрим, как убрать ввод капчи на популярном сервисе Blogger от небезызвестной компании Google. Сделать это совсем несложно, а радости посетителям своего сайта вы доставите немало.

Сначала заходим в «Редактор» вашей странички. В левой колонке выбираете пункт «Настройки». В нем есть раздел «Сообщения и комментарии». В поле «Использовать проверку по слову» поставьте значение «нет», после чего капча при вводе сообщений требоваться не будет.

Что делать, если не получается правильно ее ввести?

Бывает, что программа для ввода капчи или сам сайт (если вы вводите значения вручную) постоянно выдают ошибку. В чем может быть причина?

Прежде всего, нужно успокоиться. Как правило, в правой части любой капчи есть изогнутая стрелка. Нажав на нее, вы обновите тот набор символов, который нужно ввести для доступа на сайт. Воспользовавшись ею, можно изменить совершенно нечитаемый набор. К сожалению, нечитаемость букв встречается очень часто. Так, порой совершенно неразличима разница между буквами «Q» и «G».

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

Вот что такое капча!

Переход с reCAPTCHA на hCaptcha в Cloudflare / Блог компании RUVDS.com / Хабр

Компания Cloudflare сообщила о том, что она недавно перешла с использования сервиса reCAPTCHA, предоставляемого Google, на сервис hCaptcha, который поддерживает компания Intuition Machines. В Cloudflare очень рады тому, что им удалось совершить этот переход, так как он способствует решению проблем со сбором конфиденциальной информации, актуальных в то время, когда компания полагалась на сервисы Google. Это, кроме того, способствует более гибкой настройке CAPTCHA-задач, предлагаемых посетителям сайтов. Данное изменение, в принципе, затрагивает всех пользователей Cloudflare. Поэтому компания решила поделиться подробностями о переходе на reCaptcha и подготовила материал, перевод которого мы сегодня публикуем.

Использование технологии CAPTCHA в Cloudflare



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

У нас есть разные испытания. Некоторые из них полностью автоматические, но одно из таких испытаний требует вмешательства человека. Подобные испытания известны как CAPTCHA (по-русски их называют «капча»). Эта аббревиатура расшифровывается как Completely Automated Public Turing Test to Tell Computers and Humans Apart — полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей. Как видите, несколько букв T в слове CAPTCHA опущено — иначе оно выглядело бы как CAPTTTCHA. Капча-испытания обычно заключаются в том, что пользователю предлагается прочитать искажённый текст и ввести его в поле, или выбрать из набора картинок те, на которых есть светофоры или пешеходные переходы. Суть капча-задач заключается в том, чтобы их легко было решить человеку, но не компьютеру.


В Cloudflare, с самого начала существования компании, пользовались Google-сервисом reCAPTCHA. Этот сервис появился в 2007 году как исследовательский проект университета Карнеги — Меллона. Компания Google купила этот проект в 2009 году. Примерно тогда же появилась и компания Cloudflare. Google давала бесплатный доступ к reCaptcha в обмен на то, что данные из сервиса использовались для обучения систем визуальной идентификации компании. Когда мы искали CAPTCHA-решение для Cloudflare, мы выбрали reCATPCHA из-за того, что этот сервис был эффективным, масштабируемым и бесплатным. Последний пункт этого списка был важен для нас из-за того, что очень многие клиенты Cloudflare используют наши бесплатные сервисы.

О приватности и блокировках


С ранних дней применения reCAPTCHA в Cloudflare некоторые наши клиенты высказывали опасения относительно того, что мы пользуемся сервисом Google. Бизнес Google завязан на таргетированной рекламе. Cloudflare этим не занимается. Мы придерживаемся строгой политики относительно конфиденциальных данных. Нас устраивала политика конфиденциальности, связанная с reCAPTCHA, но мы понимаем причины, по которым некоторые из наших клиентов обеспокоены тем, что им приходится передавать в Google больше данных, чем им хотелось бы.

Кроме того, мы испытываем проблемы в некоторых регионах, в таких, как Китай, где сервисы Google время от времени блокируют. А ведь только один Китай — это 25% интернет-пользователей. В результате нас всегда беспокоило то, что некоторые из этих пользователей не могут работать с сайтами, защищёнными Cloudflare, в том случае, если им предлагается решить капча-задачу.

Вопросов, касающихся приватности и блокировок, накопившихся за годы работы, уже было достаточно для того, чтобы заставить нас задуматься о смене reCAPTCHA на что-то другое. Но нам, как и большинству IT-компаний, сложно сосредоточить усилия на отказе от некоей широко используемой технологии и на смене её на что-то новое.

Изменяющаяся бизнес-модель Google


Ранее в этом году Google сообщила нам о том, что они собираются начать взимать плату за использование сервиса reCaptcha. Это — их полное право. Обслуживание капча-нужд Cloudflare, учитывая наши размеры, без сомнения, стоит немалых денег, которые заметны даже в масштабах Google.

И, опять же, взимание платы за использование reCAPTCHA — это абсолютно разумный ход Google. Если выгода компании от обучения систем классификации изображений меньше, чем расходы на поддержание сервиса, совершенно понятно то, что у Google появилось желание брать плату за работу с этим сервисом. В нашем случае это означало бы ежегодные расходы в миллионы долларов, которые понадобились бы лишь для того, чтобы позволить нашим бесплатным пользователям продолжать применять reCAPTCHA. Этого, вместе с другими причинами, в итоге стало достаточно для того, чтобы мы приступили к поиску альтернативы reCAPTCHA.

Самая лучшая капча


Мы проанализировали множество поставщиков CAPTCHA-решений и подумали о разработке собственного сервиса такого рода. В результате оказалось, что наиболее удачной альтернативой reCAPTCHA является hCaptcha. Нам многое понравилось в этом сервисе:
  1. Они не занимаются продажей персональных данных. Они собирают лишь необходимый минимум таких данных. Компания ясно описывает сведения, которые она собирает, и то, как она использует и раскрывает данные. Компания придерживается этих правил, предоставляя сервис hCaptcha Cloudflare.
  2. Система hCaptcha отличается хорошим уровнем производительности (как в плане скорости, так и в плане показателей, касающихся решений капча-задач). Этот уровень соответствует нашим ожиданиям при проведении A/B-тестирования, или даже превышает уровень таких ожиданий.
  3. Сервис hCaptcha обладает надёжным решением для слабовидящих пользователей и для пользователей, испытывающих при работе с веб-страницами проблемы, не связанные со зрением.
  4.  Система поддерживает Privacy Pass, что позволяет снизить частоту показа капча-задач.
  5. Система работает в регионах, где сервисы Google могут быть заблокированы.
  6. Команда hCaptcha отличается гибкостью, она быстро реагирует на обращения, с ней приятно работать.

Стандартная бизнес-модель hCaptcha похожа на ту, которая использовалась в начале работы сервиса reCAPTCHA. А именно, компания планировала брать плату с пользователей, которым нужны данные о классификации изображений. А тем, кто использует hCaptcha на сайте, планировалось выплачивать вознаграждение. Для нас это звучало привлекательно, но, к сожалению, хотя такой подход может хорошо работать у большинства обычных клиентов hCaptcha, для наших масштабов он не подходил.

Мы сотрудничаем с сервисом hCaptcha в двух направлениях. Во-первых, мы находимся в процессе выделения мощностей нашей платформы Workers, которая возьмёт на себя большую часть нагрузки при использовании нашими клиентами hCaptcha. Благодаря этому мы сократим расходы Intuition Machines. Во-вторых — мы предложили компании платить ей, вместо того, чтобы она платила бы нам. Это позволит обеспечить компанию ресурсами, необходимыми для масштабирования её сервиса так, чтобы он соответствовал бы нашим нуждам. Хотя это и означает для нас дополнительные расходы, эти расходы — лишь малая доля того, что могло бы пойти на оплату reCAPTCHA. Взамен мы получаем CAPTCHA-платформу, которая гораздо гибче той, которой мы пользовались раньше. Кроме того, у нас появляется возможность взаимодействия с командой разработчиков, которая очень быстро реагирует на наши обращения.

Когда наши клиенты показывают своим пользователям капчу?


Когда мы только начали работу над этим проектом, мы предполагали, что главными потребителями CAPTCHA окажутся наши решения Cloudflare Bot Management и Cloudflare Firewall Rules. Это предположение, в некоторой степени, подтвердилось. Хотя решения Firewall/Bot оказались основными потребителями CAPTCHA, их доля в общем объёме потребления этой услуги оказалась лишь немного больше 50%.

Вот сводка, касающаяся тех наших решений, в рамках которых пользователи запрашивают вывод капчи.


Решения Firewall/Bot находятся в верхней части этого списка. На них приходится основная доля капчи. Эти решения задействуют правила, написанные нашими пользователями. При выполнении условий, задаваемых этими правилами, выводится капча. В качестве примера тут можно привести ситуацию, в которой капча выводится тогда, когда оценка запроса системой Cloudflare Bot Management оказывается неоднозначной. Она, с одной стороны, ниже заданного порогового значения, что может указывать на то, что речь идёт об автоматизированном трафике. Но она, с другой стороны, выше порогового значения, указывающего на неопределённость ситуации. Ещё один распространённый сценарий использования капчи, относящийся к разделу Firewall/Bot, это показ капча-задач для всех запросов к некоему сайту или к некоей конечной точке сайта. Наши клиенты могут поступать так для того чтобы ограничить число подключений к своим серверам, или чтобы замедлить работу автоматизированных систем, перебирающих учётные данные на странице входа в систему или создающих фальшивые учётные записи. Это приводит к тому, что некоторые сайты, находящиеся под защитой Cloudflare, запрашивают показ сотен миллионов капч в день.

Вторым в этом списке идёт наше решение IP Firewall. Оно, в целом, похоже на решения Firewall/Bot, но позволяет анализировать трафик точнее, работая на уровне IP-адреса, ASN или страны. Основной объём капч, выводимых в рамках услуги IP Firewall, имеет отношение к уровням ASN и стран. Вероятно, наши клиенты защищаются так от трафика, связанного с неким ASN (например — может ли трафик от облачного провайдера генерироваться обычными пользователями?), или защищаются от атак, выполняемых из каких-нибудь стран.

Далее идёт служба Security Levels. Этой службой пользуются двумя различными способами:

  1. Она может играть роль инструмента для приблизительной оценки репутации IP-адреса.
  2. Она может работать в режиме I’m Under Attack.

Хотя мы рекомендуем клиентам пользоваться режимом I’m Under Attack только тогда, когда они находятся под активной DDoS-атакой, некоторые наши клиенты держат систему в этом режиме всё время, используя её в роли примитивного механизма для ограничения скорости поступления запросов к сайту и для фильтрации трафика.

Последняя основная область использования капчи относится к одной из наших автоматизированных систем. Например, недавно наши инженеры из отдела защиты от DoS-атак научили Gatebot использовать капчу для устранения небольших проблем в некоторых специфических ситуациях. Теперь Gatebot может писать временные правила, применение которых приводит к показу атакующим капчи.

И наконец, некоторые наши клиенты настраивают показ капчи, создавая наборы правил Rate Limiting и Managed WAF.

Нас, кроме того, интересовал вопрос о типах наших клиентов, использующих капчу. За неделю наши клиенты, пользующиеся услугами бесплатно, запросили показ примерно 40-60% всех капч, выводимых Cloudflare. Этот показатель получен с учётом влияния на показ капч атак на сайты. Среди двух групп наших платных клиентов — корпоративных, и тех, кто оплачивает услуги по факту их оказания, оставшийся объём использования капчи делится примерно поровну. В целом, мы выяснили, что Cloudflare ежесекундно показывает несколько миллионов капч во время атаки на одного или нескольких наших клиентов.

О проблемах перехода на новую технологию


Когда мы меняем какую-то часть системы Cloudflare, это облегчает некоторым из наших клиентов жизнь, но другие клиенты сталкиваются с проблемами. Мы и команда разработчиков hCaptcha готовы к решению любых возникающих сложностей. Если вы или ваши пользователи сталкиваетесь со сложностями при использовании hCaptcha — просим вас написать об этом на форуме или открыть тикет поддержки, приведя при этом как можно более подробное описание случившегося.

Если это возможно — пожалуйста включите в сообщение Ray ID — идентификатор, который обычно появляется в нижней части CAPTCHA-страницы. Это поможет нам разобраться с тем, что пошло не так.


Ray ID

Итоги


Опыт подсказывает нам, что визуальная (и звуковая) капча — это далеко не идеальное решение множества сложных проблем. Cloudflare продолжает работать над тем, чтобы минимизировать число показываемых пользователям капч, и, в итоге, совсем от этой технологии отказаться. Мы планируем ещё писать об этом. И, кстати, знаете, как называется наш внутренний чат, в котором общается команда, занимающаяся работами по внедрению hCaptcha? Можно подумать, что этот чат называется New CAPTCHA. Но на самом деле это не так. Он называется (No)CAPTCHA.

Уважаемые читатели! Вы уже сталкивались с hCaptcha?

Как обойти капчу при парсинге сайтов?

Первую капчу сделал Google, это был искаженный текст, который, тем не менее, читался людьми. Потом Google представил reCaptcha с использованием изображений, таких как светофоры, пожарные гидранты, пешеходные переходы, лестницы и дымоходы. ReCaptcha V1 исчерапала свой ресурс и была закрыта, зато в 2018 году заработали ReCaptcha V2 и V3. Сейчас различные типы ReCaptcha имеют свои специфические особенности:

  1. ReCaptcha V2 просит пользователя нажать на чекбокс.
  2. Невидимая форма ReCaptcha V2 начинает работать при подозрительной активности на веб-сайте. Владелец сайта получает предупреждение, а затем выбирает, как справиться с ситуацией.
  3. ReCaptcha V3 – это улучшенная непобедимая ReCaptcha. Она анализирует взаимодействие между пользователем и браузером, составляет отпечаток устройства, и отправляет его сайту.

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

Как работает ReCaptcha? Кроме разгадывания картинок, ReCaptcha добавляет файлы cookie и собирает “отпечатки” устройства – создает профиль клиента (fingerprinting).

Усовершенствованные профили позволяют анализировать движения мыши и аудиосигналы, полученные с устройства. Что тогда нужно сделать, чтобы обойти ReCaptcha? Использование реального IP-адреса от хорошего прокси-сервера – отличный первый шаг.

Обход ReCaptcha

Реальный IP идеально подходит для использования, если вы хотите обойти ReCaptcha. Живые IP-адреса могут быть либо меняющимися, либо статичными, постоянными. Меняющиеся IP-адреса принадлежат реальным пользователям, и они чередуются каждый раз, когда определенный IP-адрес больше не используется. Статический IP, с другой стороны, является постоянным и выдается провайдером для коммерческого использования. Статический IP-адрес похож на меняющийся только тем, что он используется одним клиентом, купившим его, и поэтому никогда не меняется. Если вы посещаете какие-то социальные сети и сайты продажи билетов, лучше использовать статический IP-адрес, поскольку сайт проверяет постоянство IP-адреса для учетной записи.

Многие сайты используют ReCaptcha на важных страницах – для регистрации или при публикации информации. Для них работает так называемый “водопад” – вы начинаете с отправки запросов с использованием IP-адресов центров обработки данных, а затем, сканируя нужные конфиденциальные страницы, меняете их на живые IP-адреса. Такой водопад может обеспечить высокий уровень успеха и сэкономить ваши средства. Примером этого процесса может быть отправка запросов через центр обработки данных. Если отправка запроса не удалась, он отправляется через внешнюю доверенную сеть. Если это так же не удается, запрос автоматически направляется через мобильную сеть.

Другой способ использования метода водопада – это маршрутизация запросов через разные географические точки. Это полезно при просмотре сайтов электронной коммерции со страницами продуктов и ReCaptcha. Изменение IP-адреса с одного места на другое может помочь преодолеть ReCaptcha.

Теперь мы обсудим процесс реализации правила изменения URL для переключения между сетями. Важно, чтобы каждому прокси-порту в LPM был назначен отдельный тип сети. Как только это будет сделано и порты будут готовы, вам нужно создать правило, которое будет срабатывать при запросе целевого URL-адреса, и переключать IP-адрес на внешний. В раскрывающемся списке действий выберите «повторить попытку с новым прокси-портом», и он начнет маршрутизацию водопада. В разделе повторных попыток с раскрывающимся списком выберите порт, который вы хотите использовать с новым адресом.

Некоторые простые сайты просто анализируют профиль браузера, его заголовок, и запускают невидимую ReCaptcha. Чтобы предотвратить и обойти это, отправляйте настоящий заголовок браузера и меняйте его для каждого запроса. Вы можете установить значения заголовков браузера на вкладке заголовков в настройках каждого прокси-порта. Если хотите, можете вручную добавить параметры заголовков, включая cookie, accept-language и т.п., введя имя и значение в соответствии с требованиями целевого сайта.

Если вы работаете с API-интерфейсом прокси-менеджера, вы можете установить требуемые заголовки, создав новый прокси-сервер, отправив запрос POST или обновив порт прокси-сервера с помощью запроса PUT при отправке JSON файла конфигурации для порта. В файле конфигурации есть соответствующий массив заголовков с именами и значениями полей заголовка. Например, для определенного сайта вы добавите «cookie» в поле имени, а в поле «значение» – строку для самого куки. При этом вы можете включать одинаковые или разные значения файлов cookie для каждого запроса, одновременно получая различные значения файлов cookie из баз данных файлов cookie, которые относятся к вашему целевому сайту.

То же самое можно сделать в Puppeteer или Selenium, добавив заголовки браузера в ваш код. Хорошей манипуляцией с прокси является разрешение DNS на стороне партнера, а не на стороне супер-прокси. DNS преобразует IP-адрес в URL, и преимущество разрешения DNS на стороне супер-прокси является скорость выполнения запросов. Разрешение на стороне партнера приводит к большей анонимности, особенно когда вы используете бот или сканер. Вы можете разрешить DNS, перейдя на вкладку «Скорость запроса» в менеджере прокси и выбрав удаленное разрешение по пиру в поле поиска DNS.

Некоторые целевые сайты, которые используют ReCaptcha V3 или используют сложные функции анализа, могут создавать отпечатки – собирать данные о движении мыши, рендеринге webRTC, анализировать аудиосигнал и многое другое. Анализ звука можно преодолеть, добавив шум к вашему запросу. Используйте инструмент преобразования текста в речь, чтобы создать нужное аудио, а затем включить его в свой запрос.

Когда запрос содержит звуковую часть, вы заметите, что ReCaptcha V3 отсутствует. Вы также можете добавить другие параметры отпечатка – создать профиль браузера с несколькими входами в систему, холст (canvas), статический шум, WebGL и т.д. Если вы хотите преодолеть ReCaptcha во время сканирования и не прерывать процесс, начните с изменения IP при появлении ReCaptcha. Вы можете сделать это на вкладке правил прокси-менеджера, создав новое правило. Установите триггер на «HTML body element» и для сканируемой строки введите любое слово, которое появляется в консоли браузера. После этого выберите «Повторить попытку с новым IP» и укажите количество повторных попыток, а затем проверьте правило.

Другой вариант обхода капчи заключается в том, чтобы на самом деле решить ее с помощью стороннего сервиса, такого как 2captcha или anti-captcha. Эти две платформы используют реальных людей, которые решают задачи вручную и отправляют вам результаты, после чего вы продолжаете работу. Использование сервисов для определения капчи – не очень удобный вариант, потому что вам придется обнаруживать наличие капчи, а затем подключать сложный API для отправки запроса на решение. Основная проблема при использовании этих сервисов – время отклика. Для того, чтобы капча была решена и отправлена ​​вам, в среднем требуется от 40 до 60 секунд.

Что надо знать об обходе капчи при парсинге сайтов

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

1. Понимание капчи

CAPTCHA – это аббревиатура, обозначающая “Полностью автоматизированный общедоступный тест Тьюринга для различения компьютеров и людей” (Completely Automated Public Turin test to tell Computers and Humans Apart). Это тест используется в вычислительной технике, чтобы отличать живых пользователей от роботов, и широко применяется в Интернете. Вы так или иначе сталкиваетесь с ним либо при совершении покупок в Интернете, либо при входе на сайт, либо в некоторых других ситуациях.

Цель капчи состоит в том, чтобы задавать вопросы и ставить задачи, с которыми компьютеры не могут справиться, а живые пользователи могут. Это, например, строка с символами, испорченными до неузнаваемости. Хотя они выглядят страшно искаженными, люди могут легко разобрать буквы, но для компьютеров они становятся большой проблемой, и именно поэтому тест работает. Даже если вы используете очень сложную автоматизированную систему, которая может сканировать изображения с текстом и распознавать слова в нем, все равно с такими специально испорченными строками у нее будут большие проблемы.

Виды капчи

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

Текстовые капчи обычно состоят из двух частей. Первая – это последовательность случайно сгенерированных символов (цифр и/или букв), которые выглядят искаженными, вторая – текстовое поле. В этом тесте нужно ввести правильные символы в текстовое поле, чтобы доказать, что вы человек.

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

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

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

Как работать с капчами во время парсинга

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

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

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

Действовать как человек, даже если вы используете ботов, – это хороший способ предотвратить появление капчи. Учитывая это, вы должны стараться парсить сайт не слишком часто и понемногу. Однако на страницах входа все равно капчи появляются часто, и их никак нельзя избежать. Вы можете вручную решить такие капчи с помощью Octoparse.

Если вы занимаетесь парсингом и используете собственные сканеры, есть средства для обхода капчи, которые вы можете интегрировать в свой код. Примерами являются Bypass CAPTCHA и Death by CAPTCHA. Эти два сервиса позволяют вам подключаться через API и автоматически решать задачи во время скрапинга. Эти инструменты могут решить и CAPTCHA и ReCaptcha.

Расширения для веб-браузеров, которые умеют обходить и решать капчу

Подразумевается, что компьютеры CAPTCHA решить не могут, но людь их понять способны. Это не всегда так, потому что даже людям с хорошим зрением иногда трудно увидеть, что там написано. Некоторые типы капчи могут быть очень раздражающими, как, например, Google Recaptcha. Здесь вы не просто решаете одну головоломку, но иногда вам нужно решить до четырех головоломок последовательно. Если вы ошибетесь, придется начать заново – пока вы все не решите правильно, и это может быть очень раздражающим.

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

AntiCaptcha

AntiCaptcha – популярный и рекомендуемый сервис решения CAPTCHA. Расширение доступно для браузеров Chrome и Firefox, и является платным сервисом. AntiCaptcha может автоматически решать Google ReCaptcha, FunCaptcha, GeeTest и ряд других. Для работы вам просто надо кликнуть правой кнопкой мыши на текстовом поле и выбрать «Найти и решить капчу» или использовать сочетание клавиш Ctrl + Shift + 6.

Решение капч в среднем занимает от 5 до 20 секунд, а ReCaptcha занимает в среднем от 30 до 60 секунд.

Buster: Captcha Solver for Humans

Buster – это бесплатное расширение с открытым исходным кодом, которое решает ваши капчи без какой-либо оплаты. Оно решает звуковые капчи с помощью распознавания речи. Однако его недостатком является то, что его можно использовать только для решения проблемы Google ReCaptcha. Но поскольку это очень распространенная форма капчи, вам, скорее всего, этого расширения хватит для всех задач. Buster совместим с браузерами Chrome, Firefox и Opera.

Использовать Buster Captcha Solver очень просто. Расширение работает всего в несколько кликов. Когда всплывет ReCaptcha, вы нажимаете «Я не робот», чтобы открыть доступ к вариантам испытаний. Внизу появится зеленый и оранжевый значок, нажав на него вы откроете окно голосовой проверки и сможете с помощью Buster начать его решение. Buster решает все довольно быстро – обычно на один тест уходит менее 30 секунд.

Пока Buster решает, вы будете видеть в окне круглый значок. Он исчезнет, если расширение решит задачу, но в случае неудачи просто нужно будет получить новую запись, нажав на крайнюю левую иконку.

Rumola 

Rumola Captcha Solver работает с капчами, где вам нужно вводить слова, цифры или решать математические задачи. Оно не может решить Google ReCaptcha или капчи на основе изображений. Rumola может автоматически искать капчи после загрузки страницы, и вы можете отключить эту опцию в меню расширений вашего браузера.

Когда на странице обнаружена капча, Rumola накладывает небольшой значок на изображение и текстовое поле для ответа. То, что вам нужно сделать, это дважды щелкнуть внутри пустого текстового поля, и Rumola получит управление и начнет решить капчу. Если капча не обнаружена, можно попробовать найти ее самостоятельно или через меню расширений.

Если и после поиска на странице ничего не обнаруживается, можно щелкнуть правой кнопкой мыши на изображении и выбрать «Распознать это изображение как капчу». Если всплывающая небольшая иконка не станет анимированной, кликните правой кнопкой мыши на текстовом поле ответа и выберите «использовать это поле для ввода капчи». Один из указанных вариантов распознает и решит вашу капчу за 5-10 секунд.

Rumola – платный сервис по поиску капчи, и при первой установке вы получаете 5 бесплатных кредитов, которые вы можете использовать для тестирования.

Recaptcha Solver

Этот “агрегатор” не принадлежит какой-либо конкретной компании. Перед использованием этого расширения вам необходимо зарегистрироваться и приобрести кредиты у DeathByCaptcha, 2captcha, ImageTypers, Anti-Captcha, BestCaptchaSolver или EndCaptcha. После покупки вы можете выбрать службу капчи в раскрывающемся меню и ввести либо ключ API, либо имя пользователя и пароль.

Выводы

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

Заказать CAPTCHA

От 0,5 до 1 доллара за 1000 решенных капчей

Текущая ставка на 1000 CAPTCHA зависит от количества изображений, которые система получает в данный момент, и количества рабочих в сети. Это легко подсчитать: если количество входящих изображений меньше, чем «количество рабочих онлайн * 4», то ставка минимальна и равна 0,005 доллара США за одну решенную CAPTCHA.В случае, если количество рабочих уменьшилось или количество входящих изображений увеличилось, ставка увеличивается постепенно. Ставка никогда не превышает 1 доллар за 1000 CAPTCHA, так что это максимальная ставка для системы в часы пик.

Специальные функции 100% точности для сложных изображений

2Captcha обеспечивает средний уровень точности 98%, что является одним из самых высоких показателей на рынке.Разумеется, вы платите только за правильно решенные CAPTCHA. В то же время мы предлагаем специальный алгоритм со 100% точностью, который вы можете использовать для особых видов изображений. Когда вы используете эту функцию, одно входящее изображение отправляется нескольким решающим программам. Затем наш уникальный алгоритм сравнивает их ответы и проверяет, совпадают ли они. Алгоритм выбирает значение, имеющее наибольшее количество совпадений, и возвращает его вам. Вы можете узнать больше о функции 100% точности здесь (страница будет доступна после регистрации на 2Captcha.com)

Платите только за правильно решенные CAPTCHA

Вы платите только в том случае, если изображение распознано правильно. Есть два способа сообщить о неправильно решенной CAPTCHA:

  1. Он отправил команду reportbad через API
  2. Кнопка «Отчет» в интерфейсе 2Captcha

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

.

Решение ReCaptcha V3

ReCaptcha V3
Мы решали ReCaptcha V3 в течение 3 недель и теперь готовы поделиться некоторыми статистическими данными.

Для начала несколько слов о ReCaptcha V3
Как вы, наверное, знаете, ReCaptcha V3 не требует каких-либо решений, как раньше, вместо этого он измеряет оценку пользователя, а затем передает ее в серверную часть сайта. Эта оценка основана на информации, которую google.com собирает о пользователе.Оценка варьируется от 0,1 до 0,9 и может различаться для разных сайтов.
Мы провели несколько экспериментов и пришли к выводу, что если кто-то имеет 0,1 на одном сайте, с вероятностью 90% он получит такой же балл 0,1 для других сайтов.

Как работает решение 2captcha.com:
Каждому рабочему дается тестовая капча, которая дает нам оценку. Мы записываем этот балл для каждого рабочего. Когда клиент запрашивает решение ReCaptcha V3 с некоторыми минимальными требованиями к баллам, мы отправляем эти запросы работникам только с соответствующими баллами.В результате от 80 до 90 вариантов решения наберут необходимый балл.

Пример запроса на решение ReCaptcha V3:

http://2captcha.com/in.php?key=APIKEY&method=userrecaptcha&googlekey=googlekey&pageurl=https://site.com/page.html&version=v3&action=verify&min_score=0.3

http://2captcha.com/in.php?key=APIKEY&method=userrecaptcha&googlekey=googlekey&pageurl=https://site.com/page.html&version=v3&action=verify&min_score=0.5

Практически то же самое, что и ReCaptcha V2, но имеет несколько новых параметров:

версия = v3
указывает, что это ReCaptchaV3

действие = проверить
указывает название действия на странице

min_score = 0,3
указывает минимальный балл, необходимый клиенту

Стоимость
На период тестирования мы установили ту же цену, что и ReCaptcha V2

.

Возврат за недействительные токены:
Это сложно.Когда клиент жалуется на графическую капчу, мы можем решить ее снова и посмотреть, было ли решение правильным или нет. Когда клиент жалуется на ReCaptcha V2, мы можем просмотреть статистику жалоб и увидеть, совершают ли некоторые сотрудники преднамеренные ошибки, а затем вернуть деньги за неправильно решенные капчи.
С другой стороны, ReCaptcha V3 отличается: один воркер может иметь разные оценки для разных сайтов. Один сайт получит оценку 0,1, а другой — 0,5 балла за того же работника.

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

http://2captcha.com/res.php?key=YOUR_API_KEY&action=reportbad&id=CAPTCHA_ID

Но мы также добавили новое сообщение о правильном токене:

http://2captcha.com/res.php?key=YOUR_API_KEY&action=reportgood&id=CAPTCHA_ID

Когда мы получаем это сообщение о хорошем, мы добавляем соответствующего воркера в белый список для вашей учетной записи, поэтому все ваши запросы ReCaptcha V3 будут распределяться только между воркерами из вашего белого списка.
В дальнейшем мы планируем возвращать деньги только тем клиентам, которые присылают нам хорошие сообщения.
Обратите внимание, что на данный момент мы не возвращаем деньги за сообщения reportbad, но, вероятно, сделаем это в ближайшее время.

Какой min_score следует использовать?
На данный момент мы поддерживаем только 0,1, 0,3 и 0,9 балла. Тестируемые нами сайты принимают как 0,9, так и 0,3 балла, и ни один из них не принимает 0,1. Вот почему мы предлагаем клиентам начать с 0,3 и увеличивать его до 0,9 только в том случае, если более 50% токенов отклонены.Обратите внимание, что рабочих с оценкой 0,3 вдвое больше, чем с 0,9.

.

Обход reCAPTCHA с помощью 2Captcha — 2Captcha FAQ

Google постоянно работает над улучшением своего алгоритма рекапчи, что, естественно, побуждает нас также действовать.

На веб-сайтах, использующих этот новый API, значительное количество пользователей сможет безопасно и легко подтвердить, что они люди, без необходимости вводить CAPTCHA. Вместо этого всего одним щелчком они подтвердят, что они не робот.

— Google Security

Большинство людей не видят эту CAPTCHA, особенно если они вошли в систему с помощью Google.Другая большая часть пользователей может просто установить флажок «Я не робот», в то время как остальные получат тест, в котором им нужно отсортировать изображения. Предполагается, что этот тип CAPTCHA намного сложнее обойти или взломать автоматизированными службами решения CAPTCHA.

Не так давно Google обновил ReCaptcha V2 невидимой версией. Мы добавили несколько подсказок об этом типе ReCaptcha. Пожалуйста, прочтите здесь.

Мы в 2Captcha предлагаем вам 2 альтернативных метода для работы с новым Google recaptchaV2:

  1. Наш традиционный метод, требующий эмуляции браузера.
    Цена: 1,20 $ за 1000 решенных рекапч
  2. Совершенно новый метод без эмуляции браузера и со 100% точностью.
    Цена: $ 2,99 за 1000 решенных рекапч

Основное различие между этими методами заключается в том, что вам нужно отправлять изображения капчи традиционным способом, а работники решают ваши капчи прямо на сайте, где они вам нужны. После последнего обновления многие капчи на более крупных и популярных сайтах могут быть решены только вторым методом, который также имеет точность 100% .

2Captcha — это автоматическая служба блокировки CAPTCHA с API, которая помогает веб-мастерам и интернет-маркетологам отправлять большие количества CAPTCHA людям, которые их решают. Большинство интернет-маркетологов, которым приходится выполнять различные онлайн-задачи вручную, уже оценили удобство автоматизации онлайн-активности с помощью 2Captcha. Нет необходимости иметь навыки написания кода. Базовых технических знаний о ПО для SEO вполне достаточно, чтобы начать пользоваться сервисом. Если у вас есть вопросы, просмотрите наш FAQ или напишите нам в службу поддержки.

.