Ввести капчу: Продвижение в Instagram в пару кликов!

Содержание

Текстовые капчи легко распознаются нейронными сетями глубокого обучения / Хабр

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

Что такое текстовая капча?

Капча (англ. “CAPTCHA”) — это тест на “человечность”. То есть задача, которую легко решает человек, в то время как для машины эта задача должна быть сложной. Зачастую используется текст со слипшимися буквами, пример на картинке ниже, также картинку дополнительно подвергают оптическим искажениям.

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

Полносверточная нейронная сеть

Если буквы “слиплись”, то их обычно очень трудно разделить эвристическими алгоритмами. Следовательно, нужно искать каждую букву в каждом месте картинки. С этой задачей справится полносверточная нейронная сеть. Полносверточная сеть — сверточная сеть без полносвязного слоя. На вход такой сети подается изображение, на выходе она выдает тоже изображение или несколько изображений (карты центров).

Количество карт центров равно длине алфавита символов использованных в определенной капче. На картах центров отмечаются центры букв. Масштабное преобразование, которое в сети происходит из-за наличия пуллинг слоев, учитывается. Ниже показан пример карты символа для символа “D”


В данном случае используются сверточные слои с паддингом так, чтобы размер изображений на выходе сверточного слоя равнялся размеру изображений на входном слое. Профиль пятна на карте символа задается двумерной гауссовой функцией с ширинами 1.3 и 2.6 пикселей.
Первоначально полносверточная сеть была проверена на символе “R”:

Для проверки применялась небольшая сеть с 2мя пуллингами, натреннированная на CPU. Убедившись, что идея хоть как то работает, я приобрел б/у видеокарту Nvidia GTX 760, 2GB. Это дало мне возможность тренировать более крупные сети для всех символов алфавита, а также ускорило обучение (примерно в 10 раз). Для тренировки сети использовалась библиотека Theano, на текущий момент уже не поддерживаемая.

Тренировка на генераторе

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

Финальная точность тренировки на сгенерированных капчах, как оказалось, в 2 раза ниже, по сравнению с тренировкой на реальных капчах. Вероятно, такие нюансы как степень пересечения символов, масштаб, толщина линий символов, параметры искажения и т. п., важны, и в генераторе эти нюансы воспроизвести не удалось. Сеть тренированная на сгенерированных капчах давала точность на реальных капчах около 10%, точность — какой процент капч распознался правильно. Капча считается распознанной, если все символы в ней распознаны правильно. В любом случае этот эксперимент показал, что метод рабочий, и требуется повысить точность распознавания.

Тренировка на реальном датасете

Для ручной разметки датасета реальных капч был написан скрипт на Matlab с графическим интерфейсом:

Здесь кружочки можно расставлять и двигать мышкой. Кружочком отмечается центр символа. Ручная разметка занимала 5-15 часов, однако есть сервисы, где за не большую плату размечают вручную датасеты. Однако, как оказалось, сервис Amazon Mechanical Turk не работает с российскими заказчиками. Разместил заказ на разметку датасета на известном сайте фриланса. К сожалению, качество разметки было не идеальным, поправлял разметку самостоятельно.

Кроме того, поиск исполнителя занимает время (1 неделя) и также это показалось дорого: 30 долларов за 560 размеченных капч. От данного способа отказался, в итоге пришел к использованию сайтов ручного распознавания капч, где самая низкая стоимость 1 доллар за 2000 капч. Но полученный ответ там — это строка. Таким образом, ручной расстановки центров избежать не удалось. Более того, исполнители в таких сервисах допускают ошибки или вовсе действуют недобросовестно, печатая произвольную строку в ответе. В итоге приходилось проверять и исправлять ошибки.

Более глубокая сеть

Очевидно точность распознавания была недостаточна, поэтому возник вопрос подбора архитектуры. Меня интересовал вопрос “видит” ли один пиксель на выходном изображении весь символ на входном изображении:

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

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


Форма данного пятна близка к форме гауссовой функции. Форма получившегося пятна вызывает вопрос, почему пятно круглое, тогда как ядра сверток в сверточных слоях квадратные? (В сети использовались ядра сверток 3×3 и 5×5). Мое объяснение такое: это похоже на центральную предельную теорему. В ней, как и здесь, присутствует стремление к гауссовому распределению. Центральная предельная теорема утверждает, что для случайных величин, даже с разными распределениями, распределение их суммы равно свертке распределений. Таким образом, если мы сворачиваем любой сигнал сам с собой много раз, то по центральной предельной теореме результат стремится к гауссовой функции, а ширина гауссовской функции растет как корень из количества сверток (слоев).

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


Раньше думал, что из-за ассоциативного свойства свертки две последовательные свертки 3×3 эквивалентны свертке 5×5 и потому, если свернуть 2 ядра 3×3 получится одно ядро 5×5. Однако, потом пришел к выводу, что это не эквивалентно хотя бы потому, что у двух сверток 3×3 9*2=18 параметров, а у одной 5×5 25 параметров, таким образом, у свертки 5×5 больше степеней свободы. В итоге, на выходе сети получается гауссова функция с шириной меньше суммы размеров сверток в слоях. Здесь ответил на вопрос какие пиксели на выходе подвержены влиянию одного пикселя на входе. Хотя изначально вопрос ставился обратный. Но оба вопросы эквивалентны, что можно понять из рисунка:


На рисунке можно представить, что это вид на изображения с боку или, что у нас высота изображений равна 1. Каждый из пикселей A и B имеет свою зону влияния на выходном изображении (обозначены синим цветом): для А это D-C, для B это C-E, на значения пикселя C влияют значения пикселей A и B и значения всех пикселей между A и B. Расстояния равны: AB = DC = CE (с учетом масштабирования: в сети присутствуют пуллинг слои, поэтому входное и выходное изображения имеют разные разрешения). В итоге, получается следующий алгоритм нахождения размера области видимости:

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

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

Такой выход сети запоминаем как , затем градиентным спуском минимизируем функцию:

Здесь — входное изображение сети, — выходные изображения сети, — некоторая константа, которая подбирается экспериментально (). При такой минимизации вход и выход сети считаются переменными, а веса сети константами. Начальное значение переменной это изображение капчи, является начальной точкой оптимизации алгоритма градиентного спуска. При такой минимизации мы уменьшаем значения пикселей на входе изображения, при этом сдерживаем значения пикселей на выходном изображении, в результате оптимизации на входном изображении остаются только те пиксели, которые сеть использует в распознавании символа.
Что получилось:
Для символа “2”:

Для символа “5”:

Для символа “L”:

Для символа “u”:

Изображения слева — исходные изображения капч, изображения справа — это оптимизированное изображение . Квадратом на изображениях обозначена область видимости output>0, окружности на рисунке — это линии уровня Гауссовой функции области видимости.

Малая окружность — уровень 35% от максимального значения, большая окружность — уровень 3%. Примеры показывают, что сеть видит в пределах своей области видимости. Однако, у символа “u” наблюдается выход за область видимости, возможно это частичное ложное срабатывание на символ “n”.

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

Синим цветом, поверх стрелок, показано количество изображений (feature maps). c- сверточный слой, p — max-pooling слой, зеленым цветом внизу показаны размеры ядер. В сверточных слоях используются ядра 3×3 и 5×5 без strade, пуллинг слой имеет патч 2×2. После каждого сверточного слоя есть ReLU слой (на рисунке не показан). На вход подается одно изображение, на выходе получется 24 (количество символов в алфавите). В сверточных слоях паддинг подобран таким образом, чтобы на выходе слоя размер изображения был таким же как и на входе.

Паддинг добавляет нули, однако это никак не влияет на работу сети, потому что значение фонового пикселя капчи — 0, так как всегда берется негативное изображение (белые буквы по черному фону). Паддинг лишь незначительно замедляет работу сети. Так как в сети 2 пуллинг слоя, то разрешение изображения на выходе в 4 раза меньше разрешения изображения на входе, таким образом каждый пуллинг уменьшает разрешение в 2 раза, например, если на входе у нас капча размером 216×96 то на выходе будет 24 изображения размером 54×24.

Улучшения

Переход от решателя SGD к решателю ADAM дал заметное ускорение обучения, и финальное качество стало лучше. Решатель ADAM импортировал из модуля lasagne и использовал внутри theano-кода, параметр learning rate ставил 0.0005, регуляризация L2 была добавлена через градиент. Было замечено, что от тренировки к тренировке результат получается разный. Объясняю это так: алгоритм градиентного спуска застревает в недостаточно оптимальном локальном минимуме. Частично поборол это следующим образом: запускал тренировку несколько раз и выбирал несколько самых лучших результатов, затем продолжал их тренировать еще несколько эпох, после из них выбирал один лучший результат и уже этот единственный лучший результат долго тренировал. Таким образом удалось избежать застревания в недостаточно оптимальных локальных минимумах и финальное значение функции ошибок (loss) получалась достаточно малым. На рисунке показан график — эволюция значения функции ошибок:

По оси x — число эпох, по оси y — значение функции ошибок. Разными цветами показаны разные тренировки. Порядок обучения примерно такой:

1) запускаем 20 тренировок по 10 эпох
2) выбираем 10 лучших результатов (по наименьшему значению loss) и тренируем их еще 100 эпох
3) выбираем один лучший результат и продолжаем тренировать его еще 1500 эпох.

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

Разбиение датасета на 3 части позволяло отслеживать переобучение сети:

1 часть: тренировочный датасет — исходный, на котором сеть обучается
2 часть: тестовый датасет, на котором сеть проверяется в процессе тренировки
3 часть: отложенный датасет, на нем проверяется качество обучения после тренировки

Датасеты 2 и 3 небольшие, в моем случае было по 160 капч в каждом, также по датасету 2 определяется оптимальный порог срабатывания, порог который устанавливается на выходное изображение. Если значение пикселя превышает порог, то в данном месте обнаружен соответствующий символ. Обычно оптимальное значение порога срабатывания находится в диапазоне 0.3 — 0.5. Если точность на тестовом датасете значительно ниже, чем точность на тренировочном датасете — это значит что произошло переобучение и тренировочный датасет необходимо увеличить. В случае, если эти точности примерно одинаковы, но не высокие, то архитектуру нейронной сети нужно усложнять, а тренировочный датасет увеличивать. Усложнять архитектуру сети можно двумя путями: увеличивать глубину или увеличивать ширину.

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

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

Эти искажения необходимо компенсировать.

Неудачные идеи

Всегда интересно почитать про чужие неудачи, опишу их здесь.

Существовала проблема малого датасета: для качественного распознавания требовался большой датасет, который требовалось разметить вручную (1000 капч). Мной предпринимались различные попытки каким-то образом обучить сеть качественно на малом датасете. Делал попытку обучать сеть на результатах распознавания другой сети. при этом выбирал только те капчи и те места изображений, в которых сеть была уверена. Уверенность определял по значению пикселя на выходном изображении. Таким образом можно увеличить датасет. Однако идея не сработала, после нескольких итераций обучения качество распознавания сильно ухудшилось: сеть не распознавала некоторые символы, путала их, то есть ошибки распознавания накапливались.

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

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

Пример работы автоэкодера:

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

Также был пример капчи, которая использовала цвет:

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

Результат

Примеры Точность Коментарий


42 % Капча Микрософт
, jpg
61 %
63 %
93 % капча mail.ru, 500×200, jpg
87 % капча mail.ru, 300×100, jpg
65 % Капча Яндекс, русские слова, gif
70 % капча Steam, png
82 % капча World Of Tanks, цифры, png

Что еще можно было бы улучшить

Можно было бы сделать автоматическую разметку центров символов. Сервисы ручного распознавания капч выдают лишь распознанные строки, поэтому автоматическая разметка центров помогла бы полностью автоматизировать разметку тренировочного датасета. Идея такова: выбрать только те капчи, в которых каждый символ встречается один раз, на каждый символ натренировать отдельную обычную сверточную сеть, такая сеть будет отвечать лишь на вопрос: есть ли в данной капче символ или нет? Затем посмотреть какие признаки использует сеть, используя метод минимизация значений пикселей входной картинки (описано выше). Полученные признаки позволят локализовать символ, далее тренируем полносверточную сеть на полученных центрах символов.

Выводы

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

Однако и такая задача кажется решаемой для сверточной сети. Можно предположить, что в будущем возникнут центры регистрации людей, например, человека по скайпу интервьюирует живой человек, проверяет сканы паспортов и тому подобное, затем человеку выдается цифровая подпись, с которой он может автоматически регистрироваться на любом сайте.
© Максим Веденев

Гугл спрашивает не робот ли я. Что делать если поисковик google постоянно требует ввести капчу? Что же делать если Google требует ввести капчу

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

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

Почему Google постоянно просит ввести код?

Причин на самом деле не так и много, а точнее две.

1. Самая популярная причина, у вас динамический ip адрес (как правило у мобильных операторов), которым пользуются много пользователей. Не все пользователи «одинаковы полезны».

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

К слову сказать не все интернет провайдеры торопятся «вытаскивать» свои ip из спам листов.

А некоторые специально не достают ip, чтоб меньше спамили.

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

НО, не спешите паниковать, обычно вирусы хотят денег, а не заставить вас вводить код при входе в поисковик 🙂

Да, чуть не забыл, что по мимо ввода кода и телефона, бывает, что Google просто пишет:

«Мы зарегистрировали подозрительный трафик, исходящий из вашей сети»

и нет капчи, а просто белая страница и поиск не открывается совсем. В этом случае это полный баз ip.

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

Действия на самом деле простые:

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

2. Попробуйте прописать публичные DNS самого Google, во многих случаях это помогает.

Как прописать:

  • зайти в управление сетями и общим доступом
  • нажать на пункт изменение параметров адаптера

В окне вы увидите все свои подключения.

Выделите свое подключение, нажмите правой кнопкой мыши и выберите свойства.

В самом низу в списке будет пункт Протокол Интернета версия 4, выделите и нажмите свойства.

Установите параметр использовать следующие адреса dns-серверов и пропишите так, как показано на скриншоте:

  • предпочитаем dns-сервер вписываем
    8. 8.8.8
  • альтернативный DNS-сервер
    8.8.4.4

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

Как правило это помогает и гугл больше не просит ввести капчу при поиске.

Если по каким-то причинам захотите вернуть все обратно, в этом же окне поставьте параметр Получать адрес DNS-сервера автоматически и нажмите ок. (это вернет все в исходное состояние)

Можно еще написать сменить провайдера у которого «серые» ip адреса, но такой вариант не подходит, так как практически у всех мобильных операторов проблемы с капчами имеются.

Ну и не у всех в городах есть возможность выбрать провайдера.

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

1. Создать почтовый ящик на gmail.com (если у вас его еще нет).

2. В браузере Google Chrome зайти в настройки и авторизироваться под своей почтой, которую создали.

После того, как вы это сделаете, google капча не будет появляться так часто.

Если вы пользуетесь другим браузером не Google Chrome, но используйте поиск Google, решение одно, открывать в одной вкладке почту gmail и быть в ней авторизированным.

И последнее, проверьте свой компьютер на вирусы и всякого рода «бяку», которая может самостоятельно вести какую-нибудь активность на вашем компьютере, так, на всякий случай 🙂

Все пользователи интернета сталкивались в нём с полем «Я не робот» (I»m not a robot), напротив которого нужно поставить галочку, чтобы продолжить работу на сайте. Откуда это поле знает, что вы на самом деле не робот и почему это имеет значение? Чтобы ответить на этот вопрос, мы должны вспомнить, что такое капча.

CAPTCHA означает полностью автоматизированный публичный тест Тьюринга для распознавания компьютеров и людей. Этот тест был изобретён в 2003 году Луисом вон Аном и его командой исследователей из университета Карнеги-Меллон. Целью этих искаженных кусков текста является остановка распространения спама и автоматических программ в интернете, вроде скупающих всех продающихся онлайн билетов для их перепродажи дороже. Капча работает, потому что люди могут распознавать искажённый текст и случайные наборы символов, а компьютеры и боты нет.

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

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

Создатели продвигают лозунг «Остановите спам, читайте книги». Ежедневно reCAPTCHA используется более 100 млн. раз, это равнозначно прочтению 2,5 млн. книг в год. В компании Google решили купить reCAPTCHA и сделали это в 2009 году. Они начали использовать силу интеллекта для оцифровки архива статей New York Times, начиная с 19 века, а также всех Google Books. Когда эти ресурсы были исчерпаны, Google начала использовать номера домов из Google Street View и обозначения из карт Google. Однако на этом история не заканчивается.

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

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

В Google решили заняться исследованиями и установили, что люди распознают сложные капчи всего в 33% случаев, тогда как алгоритмы самой Google распознают капчу в 99,8% случаев. Похоже, что компьютеры уже стали умнее людей. В результате в Google решили отказаться от различных искривленных сочетаний символов и стали использовать поле с надписью «Я не робот». Это поле получил название No CAPTCHA reCAPTCHA.

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

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

Технология «капчи» (CAPTCHA) представляет собой автоматизированный тест, предназначенный для выявления машинизированных пользователей, иначе ботов.

Его целью становится постановка такой задачи, которая с легкостью решается человеком, но сложна для компьютера.

Но, бывают и ситуации, когда полезный казалось бы скрипт становится слишком назойливым.

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

Как убрать капчу я не робот

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

  • Отключаем и снова подключаем активное интернет-соединение. Перезагружаем роутер или модем. Таким образом может измениться IP-адрес.
  • Прибегаем к помощи VPN-сервиса. Последние бывают как платные, так и для бесплатного использования. Предусмотрены в виде расширений (дополнений) для браузеров и как отдельно-устанавливаемый софт на компьютер.
  • Просматриваем и установленные расширения. Например последняя версия Яндекс.Браузера сама отключает плагины из непроверенных источников и периодически проверяет уже инсталлированные на предмет подделки.
  • Проверяем, включен ли JavaScript в веб-обозревателе: Настройки→ Показать дополнительные настройки→ блок личные данные Настройки контента → раздел JavaScript.
  • Не забываем и про антивирусные программы – возможно компьютер стал жертвой ботнета, отсюда и недовольство CAPTCHA на генерируемый по этому адресу трафик.

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

Здравствуйте, уважаемые читатели блога сайт. Буквально чуток времени хочу уделить относительно новой капче от Гугла (она около года назад была анонсирована), которая пришла на смену старой и замороченной. Раньше наверное мало кто из блогеров, находящихся в своем уме, мог бы поставить детище Google на свой сайт или блог — уж очень муторно было разгадывать предлагаемые там буквенные ребусы. Все удобство комментирования терялось.

Собственно, в то далекое время я пользовался еще отлично работающим . Для его прохождения нужно было просто поставить галочку в поле «Я не робот» и все ( из всех возможных). Если галочка не ставилась, то сообщение падало в корзину в админке WordPress, либо при отключенной корзине (как в моем случае) просто в базу не добавлялось. Идеальный вариант, по-моему, ибо никаких особых неудобств комментатору это не создавало.

Потом этот плагин работать перестал, и я где-то полгода с успехом пользовался , но и этот метод перестал работать после обновления WordPress до версии 4.4. За это время я попробовал парочку плагинов, которые отсеивали спам на основе анализа адресата и содержания (Antispam Bee и CleanTalk). Первый довольно много путал (спам в не спам, а неспам в спам), а второй вопреки ожиданиям не снижал, а увеличивал нагрузку на сервер (да еще и платный к тому же).

В общем, решил вернуться к проверенному методу — установки простейшей из существующих капч . DCaptcha уже не работает, но зато гигант Google серьезно упростил свою изначально монструозную reCAPTCHA и свел всю проверку к той самой установке галочки «Я не робот». К сожалению, я слишком туп, чтобы понять как это дело прикрутить к сайту без плагина (хотя и пробовал), поэтому пришлось воспользоваться услугами плагина No CAPTCHA reCAPTCHA. Но обо всем по порядку.

Методы снижения спам-нагрузки и почему именно reCAPTCHA?

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

Но ручной спам, как правило, представляет из себя хиленький ручеек по сравнению с полноводной рекой автоспама. Последний может генериться, например, Хрумером в просто фантастических объемах. Лично меня больше раздражает даже не то, что в сутки приходит несколько сотен спамных комментов в мою адмнинку WordPress, а то, что они бывают чудовищно длинными и устаешь их прокручивать до кнопки «Удалить». В общем, проблема сия реальна и тем более актуальна, чем популярнее будет ваш блог.

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

  1. Фильтровать уже добавленные в базу WordPress комменты на предмет спам/неспам и распихивать их по соотвествующим папочкам. К сожалению, плагины, работающие по такому принципу, выдают много брака и просто так очищать папку «Спам» без просмотра ее содержимого не получится, если вы не хотите потерять десятки действительно ценных комментариев отправленных активными читателями вашего блога.
  2. Прикрутить к форме добавления комментария дополнительную проверку на то, кто именно оставляет это сообщение — живой человек или бот. Задача по выявлению этого различия называется тестом Тьюринга и решается в подавляющем большинстве случаев с помощью так называемой капчи (образовано от CAPTCHA, которое является аббревиатурой от набора умных слов). Основной проблемой этого метода борьбы со спамом является то, что вы напрягаете комментаторов разгадыванием «ребуса» (капчи), что может отбить у него вообще какое-либо желание продолжать пытаться оставить сообщение.

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

Вот так реКапча от Гугла будет выглядеть для 99.9% посетителей вашего сайта:

Ну и вот так, в случае возникновения форс-мажора (если алгоритм после проведения десятка тестов на человечность все же засумлевается):

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

Ну, как бы выбор сделан — надо реализовывать.

Регистрация сайта в reCAPTCHA и установка ее на свой блог

Регистрация представляет из себя просто как указание названия и доменного имени вашего сайта, где эту саму капчу вы планируете использовать:

После этого вы попадете в админку сервиса reCAPTCHA для вашего сайта (имеет смысл, наверное, добавить ее в закладки браузера). Со временем там будет отображаться статистика по работе данной капчи, ну, а пока самое важное, что мы отсюда можем почерпнуть — это как раз те самые ключи , без которых «Я не робот» работать не будет:

Чуть ниже приведена инструкция по установке. В области «Интеграция на стороне клиента» все понятно, но простой установки приведенного кода в указанные места не достаточно. Капча отображаться будет, но спам фильтроваться не будет. В области же «Интеграция на стороне сервера» мне вообще ничего не понятно. Туповат я для этого.

Посему было принято решение использовать плагин для интеграции reCAPTCHA в WordPress , благо, что вариантов таких плагинов достаточно много (читайте ). Правда, штуки три из них у меня не заработали (капча в области добавления комментариев не появлялась). После нескольких неудачных попыток пришлось обратиться за решением к умным людям , где и был замечен и в последствии успешно установлен плагин с замысловатым названием (типа масло не маслянное) — .

Настройка и работа плагина No CAPTCHA reCAPTCHA в WordPress

Ну, собственно, заходите в админку WordPress, из левого меню выбираете «Плагины» — «Добавить новый», вводите в поисковую строку No CAPTCHA reCAPTCHA и производите установку. Не забываете его активировать, а затем обычным способом заходите в его настройки (внизу левого меню вы найдете новый пункт «No CAPTCHA reCAPTCHA»).

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

После сохранения этих изменений плагин сразу встает на защиту ваших комментариев от спамеров.

И не только комментариев. В настройках можно защитить с помощью этой капчи и форму входа в админку WordPress :

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

Собственно, все. Я пока не стал принудительно сбрасывать кеш в WordPress (обновил лишь те статьи, к которым традиционно Хрумер не равнодушен), поэтому reCAPTCHA отображается не на всех страницах. Каких-то нареканий в работе пока замечено не было.

Удачи вам! До скорых встреч на страницах блога сайт

Вам может быть интересно

Как избавиться от спама в комментариях WordPress за 5 минут (без капчи и без плагинов) Пропало левое меню в админке WordPress после обновления Где скачать WordPress — только с официального сайта wordpress. org
Как войти в админку WordPress, а так же поменять логин и пароль администратора выданные вам при установке движка Как отключить комментарии в WordPress для отдельных статей или всего блога, а так же убрать или наоборот подключить их в шаблоне Смайлики в WordPress — какие коды смайлов вставлять, а так же плагин Qip Smiles (красивые смайлики для комментариев)

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

Почему так происходит?

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

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

В каких браузерах происходит?

Это может происходить в любом браузере, который использует поисковые системы «Google» или «Yandex». Причем, в этом вопросе большую «зловредность» проявляет поисковая система «Google». На Рис.1 представлен внешний вид «проявления недоверия» к пользователю от поисковой системы «Google». На Рис.2 аналогичная ситуация с поисковой системой «Yandex».

На Рис.2 (см.1 Рис.2) показан пример капчи идентификации пользователя интернета в поисковой системе «Yandex». На Рис.3 показан пример идентификации в поисковой системе «Google».


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


А ведь решение данной проблемы предельно просто (по крайней мере, в настоящий момент).

Способы обойти проблему « Я не робот» при поиске информации в интернете

Во-первых, сократите до необходимого минимума применение различных анонимайзеров, VPN клиентов и т.п.

Во-вторых, как отмечалось выше, эта проблема не зависит от применяемого браузера, а зависит только от поисковой системы. Из этого следует — просто перейдите на другую поисковую систему. На настоящий момент самыми надежными и не заангажированными в этом вопросе являются поисковые системы «DucDucGo» «Yahoo» и «Bing». Есть и другие поисковики, которые, в порыве блокировки поискового спама (ручного и машинного), пока что не пытаются издеваться над пользователями интернета, которые по какой-то причине «слишком усиленно» маскируются. Если вы не хотите менять настройки поисковых систем и браузеров на своем компьютере, когда-то выбранные вами, просто установите на панель закладок ваших любимых браузеров ссылки на вышеуказанные поисковые системы. А когда «Google» или «Yandex» потребуют от вас доказательств, что вы не робот, просто откройте любую из этих ссылок и в строке поиска вновь введите свой поисковый запрос.

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

В-третьих, если у вас все же есть острая необходимость применения во время поиска в интернете поисковых систем «Google» или «Yandex» (к примеру, вас заблокировали на каком-то сайте), то при поиске используйте не поисковую фразу, а конкретный URL-адрес. «Google», в отличии от «Yandex», это очень любит.

Ну, и в завершение, как я уже говорил выше и в статье « », не следует чрезмерно, без всякой надобности пользоваться услугами анонимайзеров, VPN клиентов и т.п. и слишком часто прятаться в интернете. Во-первых, это легко вычисляется. Во-вторых, несмотря на то, что распространители услуг «анонимного серфинга» хором кричат, что их услуги абсолютно безопасны, это далеко не так. Кто может быть уверен в том, что, устанавливая на свой компьютер VPN клиент, вы не ставите вместе с ним и какой-нибудь троян? Кто может быть уверен на 100%, что на серверах анонимайзеров не ведется журнал учета ваших действий через их сервер? И вообще, как вы проверяли надежность компаний, предоставляющих возможность анонимного серфинга?

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

Иценко Александр Иванович

Вопрос — СРОЧНО!!!!Как ввести капчу | BLASTHACK

JavaScript отключён. Чтобы полноценно использовать наш сайт, включите JavaScript в своём браузере.