Инструкция по правильному вводу капч на сайте RuCaptcha.com
Инструкция по правильному распознанию капч на сервисе RuCaptcha.com
ReCaptcha V2 New
Очень популярна в последнее время, представляет из себя 9 мини-картинок, из которых нужно выбрать 2-4 заданных картинки. Какие картинки нужно выбрать указывается либо образцом картинки, либо текстом. В ответ на такую капчу нужно ввести номера картинок, которые нужно выбрать. Номера вводятся без пробелов, без запятых. Если на самих картинках нет номеров, то они считаются слева-направо, сверху вниз. Вот так:
1 2 3
4 5 6
7 8 9
капча | правильный ответ |
описание |
---|---|---|
13 | справа изобраён образец, капуста. На картинках под номерами 1 и 3 мы видим капусту. |
|
58 | Справа тарелка со спагетти. Этой картинке соответствуют картинки под номерами 5 и 8. На картинке под номер 3 то же макароны, но равиоли, а не спагетти. | |
239 | Образца нет, только текст, на котором написано, какие картинки нужно выбрать. Сами картинки не пронумерованы, так что пользуемся инструкцией выше, что бы понять какой картинке соответсвует правильный номер | |
45 | Можно сначала подумать, что правильный ответ 47. Но на 7 картинке не указатель, а просто вывеска. И остаётся только 4я картинка. Но должно быть минимум 2 подходящих изображения. Присматриваемся внимательнее и видим на 5м изоборажении указатель, сфотографированный с обратной стороны. правильный ответ 45 | |
159 | ||
456 | Инструкция только на английском языке, но слева дана картинка, поясняющая, что выбирать нужно дорожные знаки. | |
18 | На приведённом образце — яйца. Они же на картинках 1 и 8, хоть они уже и очищены и разрезаны. Правильный ответ — 18 | |
25 | На приведённом образце — пирог. На картинках 2 и 5 видим пироги и отвечаем 25. | |
12 | Вебмастер, который прислал капчу, по своему принципу пронумеровал изображения. В данном примере пользуемся его нумерацией и указываем что нужно выбрать 1 и 2 изображение | |
356 | Этот вебмастер в правильном порядке нумерует картинки, но начал нумерацию не с единицы а с нуля. |
ReCaptcha v2 с дорожными знаками и указателями улиц
Особое внимание уделим капчам, на которых изображены дорожные знаки или указатели улиц. Указатель улицы это не дорожный знак.
SolveMedia
В данной капче встречаются стандартные небольшие фразы на английском языке, что помогает быстрее их вводить и учить английский.
капча | правильный ответ |
описание |
---|---|---|
video tape | простая капча, вводится без проблем | |
what if? | ||
When, where? | И запятую и знак вопроса нужно указывать в ответе | |
i like people | В слове LIKE первую букву сложно разобрать, но если смотреть на всю фразу целиком — легко понять что там за буква. I like people — я люблю людей |
|
rooftop | Можно подумать что первая буква в этой капче — P и к ней просто приклеились две палочки. Но слова POOFTOP не существует, а ROOFTOP это что-то, что установлено на крыше. Кстати, за подобные ошибки на rucaptcha.com работников никогда не банят. Ведь мало кто знает все эти слова, ошибиться очень легко. | |
first post! | Первая буква скрыта, но смотря на слово целиком, можно догадаться что там написано FIRST | |
Но, иногда попадаются такие, которые совсем не разобрать. В таком случае нужно нажать «не могу разобрать» |
Другие виды капч
Текстовые капчи легко распознаются нейронными сетями глубокого обучения / Хабр
Нейронные сети глубокого обучения достигли больших успехов в распознавании образов. В тоже время текстовые капчи до сих пор используются в некоторых известных сервисах бесплатной электронной почты. Интересно смогут ли нейронные сети глубоко обучения справится с задачей распознавания текстовой капчи? Если да то как?
Что такое текстовая капча?
Капча (англ.
Капча, как правило, используется на странице регистрации для защиты от ботов рассылающих спам.
Полносверточная нейронная сеть
Если буквы “слиплись”, то их обычно очень трудно разделить эвристическими алгоритмами. Следовательно, нужно искать каждую букву в каждом месте картинки. С этой задачей справится полносверточная нейронная сеть. Полносверточная сеть — сверточная сеть без полносвязного слоя. На вход такой сети подается изображение, на выходе она выдает тоже изображение или несколько изображений (карты центров).
Количество карт центров равно длине алфавита символов использованных в определенной капче. На картах центров отмечаются центры букв. Масштабное преобразование, которое в сети происходит из-за наличия пуллинг слоев, учитывается. Ниже показан пример карты символа для символа “D”
В данном случае используются сверточные слои с паддингом так, чтобы размер изображений на выходе сверточного слоя равнялся размеру изображений на входном слое. Профиль пятна на карте символа задается двумерной гауссовой функцией с ширинами 1.3 и 2.6 пикселей.
Для проверки применялась небольшая сеть с 2мя пуллингами, натреннированная на CPU. Убедившись, что идея хоть как то работает, я приобрел б/у видеокарту Nvidia GTX 760, 2GB. Это дало мне возможность тренировать более крупные сети для всех символов алфавита, а также ускорило обучение (примерно в 10 раз). Для тренировки сети использовалась библиотека Theano, на текущий момент уже не поддерживаемая.
Тренировка на генераторе
Разметить большой датасет вручную казалось делом долгим и трудозатратным, поэтому было решено генерировать капчи специальным скриптом. При этом карты центров генерируются автоматически.
Финальная точность тренировки на сгенерированных капчах, как оказалось, в 2 раза ниже, по сравнению с тренировкой на реальных капчах. Вероятно, такие нюансы как степень пересечения символов, масштаб, толщина линий символов, параметры искажения и т. п., важны, и в генераторе эти нюансы воспроизвести не удалось. Сеть тренированная на сгенерированных капчах давала точность на реальных капчах около 10%, точность — какой процент капч распознался правильно. Капча считается распознанной, если все символы в ней распознаны правильно. В любом случае этот эксперимент показал, что метод рабочий, и требуется повысить точность распознавания.
Тренировка на реальном датасете
Здесь кружочки можно расставлять и двигать мышкой. Кружочком отмечается центр символа. Ручная разметка занимала 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 (с учетом масштабирования: в сети присутствуют пуллинг слои, поэтому входное и выходное изображения имеют разные разрешения). В итоге, получается следующий алгоритм нахождения размера области видимости:
- задаем константные веса в сверточных слоях, весам-смещениям задаем значения 0
- на вход подаем изображения с одним ненулевым пикселем
- получаем размер пятна на выходе
- умножаем этот размер на коэффициент учитывающий разное разрешение входного и выходного слоя (например, если у нас 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 давно не использует текстовую капчу, вместо текста предлагаются картинки с различными предметами, которые нужно распознать человеку:
Однако и такая задача кажется решаемой для сверточной сети. Можно предположить, что в будущем возникнут центры регистрации людей, например, человека по скайпу интервьюирует живой человек, проверяет сканы паспортов и тому подобное, затем человеку выдается цифровая подпись, с которой он может автоматически регистрироваться на любом сайте.
© Максим Веденев
Что такое капча? Зачем нужен ввод captcha?
Привет всем. Скорее всего Вы уже знаете что такое капча, возможно просто видели ее, но не знали как называется эта кривая и раздражающая картинка, которую нужно вводить на каждом шагу. Так вот, для тех, кто не знал — это капча (captcha).
Что такое капча?
Капча — это автоматически генерируемый тест-проверка, является ли пользователь человеком или компьютером. Представляет собой в подавляющем большинстве случаев искаженную надпись из букв и/или цифр. Они могут быть написаны в различных цветовых сочетаниях с применением шума, искривления, наложения дополнительных линий или произвольных фигур.
Назначение и функция капчи
Для чего нужен ввод капчи, ведь это может отталкивать пользователей?
Например, в любимой всеми социальной сети ВКонтакте ее нужно вводить, если количество действий в определенный промежуток времени превысит допустимый параметр. Грубо говоря, если вы отправите подряд 50 сообщений с интервалом в 1 секунду, то, наверняка, выскочит капча, так как вас заподозрят в спаме. А спамят, как известно, в большинстве своем роботы, которые не смогут (по задумке авторов) ввести текст с рисунка. Соответственно, это вынужденная мера, которая защищает ресурсы от спама и повышенной нагрузки при атаке ботов.
Однако, captcha не всегда помогает, ведь на каждый замок можно найти ключ, иначе этот замок просто сломан и бесполезен. Большинство рисунков можно распознать нейронными сетями, предварительно натаскав их на многочисленных (несколько десятков, а то и сотен тысяч) примерах. Эти примеры подготавливают добровольцы, которые днями напролет за небольшое вознаграждение сидят и вбивают капчи. Дабы не быть голословным, вот пример с habrahabr по взлому капчи яндекса. Также существуют специальные сервисы, такие как antigate, которые предоставляют услгу по распознаванию. Они имеют огромную готовую базу примеров, а те случаи, которых еще нет в базе, распознаются вручную.
[ содержание ]
Примеры captcha, случаи использования
Может быть можно придумать что-то не такое раздражающее как прыгающий и скачущий текст\цифры? Да, конечно можно придумать. И более того, уже придумали. Сейчас я покажу Вам примеры капчи, которые не так раздражают посетителей. Начнем со стандартной — текстовой.
Теперь перейдем к более интересным примерам. К таковым можно отнести капчу, где нужно выставить вертикально 3 картинки. На мой взгляд, это одна из наиболее удачных вариаций в данной области, просто потому, что она не раздражает, а даже наоборот, увлекает и немного веселит. Это даже не ввод captcha, а просто мини игра.
Далее хотелось бы пару слов сказать про математическую капчу. Она может быть как простой, так и сложной. Лично мне нравится капча, где требуется сложить или вычесть два числа. Это гораздо удобней, чем сидеть и разбирать кривой текст. Однако, если чуть чуть перебрать со сложностью, то могут возникнуть проблемы.
Ну и в заключение, опасный пример мнимой безопасности, капча — «поставь галочку». Многие считают, что этого достаточно, но не подозревают, что программно поставить галочку очень просто и обучить этому бота — дело 1 минуты. Ведь при этом ввод капчи как таковой не происходит, а происходит изменение параметра CheckBox’a.
Теперь вы знаете что такое капча (captcha) и представляете, примерно, какими они могут быть.
Взломщик captcha на Python
Когда я разрабатывал набор скриптов для взлома, у меня не было никаких знаний об используемых алгоритмах при обработке изображений. Только спустя какое-то время я занялся изучением этого.
Когда я начинал, я предполагал примерно следующее:
- Изображение представляет собой матрицу с пикселями, расположенных в отдельных ячейках
- Цветное изображение имеет значения красного, зеленого и синего цветов для каждого пикселя (RGB). А черно-белое изображение имеет одно значение, которое варьируется от 0 до 255
- Каждый символ в captca четко определен
Итак, вот как выглядит страничка входа на университетский сайт:
Начнем с моих замечаний по поводу самой картинки капчи (именно на этом сайте):
- Количество символов в капче всегда равно 6 и это изображение в градациях черного
- Расстояние между символами было везде одинаковым
- На изображении много рассеянных темных пикселей и линий, проходящих через символы на изображении
Затем я загрузил одно такое изображение с капчи и с помощью этого инструмента визуализировал изображение в двоичном формате (0 для черного и 1 для белого пикселя).
Мои предположения подтвердились! На изображении размером 45х180 каждому символу выделено по 30 пикселей, что делает их равномерно распределенными! Таким образом, первым моим шагом стало:
- Обрезать изображение капчи на 6 равномерных частей, по 30 пикселей в ширину каждая.
Я выбрал Python в качестве языка прототипирования, так как его библиотеки проще всего использовать и реализовывать. Затем я без труда нашел подходящую библиотеку — PIL. (прим. ред.: Python Imaging Library — библиотека языка Python, предназначенная для работы с растровой графикой). Я решил использовать модуль Image, поскольку моя операция ограничивалась только обрезкой и загрузкой изображения в виде матрицы.
Итак, согласно документации, синтаксис для обрезки изображения следующий:
from PIL import Image
image = Image.open("filename.xyz")
cropped_image = image.crop((left, upper, right, lower))
В случае, если вы хотите обрезать только один символ:
from PIL import Image
image = Image.open("captcha.png").convert("L") # Grayscale conversion
cropped_image = image.crop((0, 0, 30, 45))
cropped_image.save("cropped_image.png")
Изображение, которое будет получено в итоге:
Я написал простой скрипт и завернул все это дело в цикл, который извлекает 500 изображений captcha с сайта и сохраняет все обрезанные символы в папку.
Теперь переходим к моему третьему наблюдению — каждый символ четко определен. Чтобы «очистить» отрезанный символ (удалить ненужные строки и точки), я использовал следующий метод:
- Все пиксели в символе являются черными (0). Я использовал простую логику — если пиксель не совсем черный — он белый. Следовательно, для каждого пикселя, который имеет значение больше 0, я переназначил значение до 255 (сделал белым). Изображение преобразуется в матрицу 45×180 с использованием функции load(), а затем обрабатывается.
pixel_matrix = cropped_image.load()
for col in range(0, cropped_image.height):
for row in range(0, cropped_image.width):
if pixel_matrix[row, col] != 0:
pixel_matrix[row, col] = 255
image.save("thresholded_image.png")
Для проверки моего метода, я применил код к оригинальному изображению:
И вот что получилось:
Как вы можете видеть, все пиксели, которые были не совсем черными, были удалены. Включая темные линии, которые проходят через все изображение. Только после того, как проект был завершен, я узнал, что вышеупомянутый метод называется порогом обработки изображений.
Теперь поговорим о следующем моем замечании,точнее о том, что на изображении много рассеянных темных пикселей и линий, проходящих через символы на изображении. Создадим специальный цикл, который будет проверять следующее: если соседний пиксель белый и пиксель, противоположный тому соседнему пикселю тоже белый, а центральный пиксель черный, то по условию цикла, центральный пиксель также станет белым!
for column in range(1, image.height - 1):
for row in range(1, image.width - 1):
if pixel_matrix[row, column] == 0 \
and pixel_matrix[row, column - 1] == 255 and pixel_matrix[row, column + 1] == 255 :
pixel_matrix[row, column] = 255
if pixel_matrix[row, column] == 0 \
and pixel_matrix[row - 1, column] == 255 and pixel_matrix[row + 1, column] == 255:
pixel_matrix[row, column] = 255
Что получилось в итоге:
Итак, как вы видите, на изображении остались только необходимые нам символы! Хотя может показаться, что некоторые из символов потеряли несколько своих пискелей, тем не менее, они послужат отличной “базой” для их сравнения с другими изображениями. В конце концов, главная причина, по которой мы так оптимизируем изображение, состоит в том, чтобы создать наиболее точное изображения для каждого возможного символа капчи.
Я применил описанный выше цикл ко всем обрезанным символам и сохранил их в отдельной папке. Следующей задачей было назвать каждый символ из списка «ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789» и назначить ему соответствующее изображение. Когда я закончил, получился следующий “скелет”:
Я использовал несколько различных скриптов, для того чтобы отобрать наилучшие изображения среди всех изображений символов. Изображение, с наименьшим количеством темных пикселей наилучшим образом подходит для изображений нашего “скелета”. Таким образом, получилось два скрипта:
- Один для группировки изображений, отсортированных по символу (ограничения: нет темных пикселей и совпадений с уже имеющимися >= 90–95%)
- Второй для отбора лучшего изображения для каждого символа
Таким образом, у нас уже были созданы изображения библиотеки. Затем мы преобразовали их в пиксельные матрицы и сохранили в виде файла JSON.
И наконец, вот алгоритм, который решает/взламывает любое новое изображение captcha:
- Каждый символ в новом изображении captcha, я принудительно прогонял через изображения JSON, которые я сгенерировал. Сходство рассчитывается на основе расположения темных пикселей на изображении.
Сам алгоритм взлома был примерно следующим:
Например, если пиксель был черным и находился в условных позициях 4 и 8 на изображении капчи и в нашем изображении “скелета” находилось совпадение, то счет увеличивался на 1. Этот подсчет сравнения количества темных пикселей в изображении скелета используется для вычисления итогового совпадения в процентах.
Затем выбирается символ(изображение символа), который имеет наивысший процент совпадения:
import json characters = "123456789abcdefghijklmnpqrstuvwxyz" captcha = "" with open("bitmaps.json", "r") as f: bitmap = json.load(f)
for j in range(image.width/6, image.width + 1, image.width/6): character_image = image.crop((j - 30, 12, j, 44)) character_matrix = character_image.load() matches = {} for char in characters: match = 0 black = 0 bitmap_matrix = bitmap[char] for y in range(0, 32): for x in range(0, 30): if character_matrix[x, y] == bitmap_matrix[y][x] and bitmap_matrix[y][x] == 0: match += 1 if bitmap_matrix[y][x] == 0: black += 1 perc = float(match) / float(black) matches.update({perc: char[0].upper()}) try: captcha += matches[max(matches.keys())] except ValueError: print("failed captcha") captcha += "0" print captcha
И конечным результатом будет:
Где капча с символами “Z5M3MQ” была успешна взломана!
На этом пожалуй все! Для меня это был отличный опыт, кроме того, я разработал специальное расширение для Chrome, которое использует мой алгоритм!
Весь мой код можете посмотреть здесь!
Хорошо знаете Python? Пройдите наш небольшой тест и проверьте свои знания!
Перевод статьи Priyansh Jain: How I developed a captcha cracker for my University’s website
CAPTCHA, капча — что это?
CAPTCHA — это загадка, которую легко решает человек, но не может решить робот. Я думаю, вы часто видели на сайтах «Докажите, что вы не робот» или «Введите код на картинке».
CAPTCHA — Completely Automated Public Turing test to tell Computers and Humans Apart — полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей.
Зачем нужна капча?
Капча нужна для того, чтобы разрешить доступ к определённому разделу сайта человеку и запретить роботу. Например, можно с помощью CAPTCHA защитить сайт от регистраций спам-ботов.
Виды CAPTCHA
Капча бывает разная. Самая простая — просьба ответить на вопрос, например, сколько будет 2 + 7?
Самый распространённый вид — картинка с искажённым текстом. Человек легко (относительно) может прочитать текст, робот уже справляется с этой задачей с трудом.
Звуковой файл. Вам предлагают прослушать текст, который вы должны ввести. Люди и слепые бывают, нельзя же всё к картинкам сводить.
Видео-файл. Смотрим ролик и находим в нём кодовое слово.
CAPTCHA где предлагается выбрать правильный вариант из нескольких, повернуть изображение, решить задачку, да что угодно сделать, что не умеет делать робот.
Достоинства и недостатки
Достоинства
- Защищает от определённого процента ботов.
Недостатки
- Программы совершенствуются и уже могут успешно решать некоторые виды CAPTCHA с большим процентом успеха. В ответ на это разработчики усложняют задачки таким образом, что уже люди с трудом решают их.
- Капчу можно ввести неправильно, приходится повторять попытку.
- Вижу капчу и уже задумываюсь, а нужно ли тратить время и нужно ли мне эту капчу решать?
- Со временем боты начинают проламывать даже те капчи, которые хорошо защищали сайт.
- Да и вообще с какой стати я должен эту капчу решать? Идеальная капча — когда я про неё и не узнаю никогда. Кстати, уже есть такие.
- Не все виды CAPTCHA способны пройти люди с ограниченными возможностями.
Примеры CAPTCHA
ReCAPTCHA
ReCAPTCHA — она из самых известных и «работающих» защит от роботов. Система разработана в университете Карнеги — Меллон. В сентябре 2009 года reCAPTCHA была приобретена компанией Google. Есть несколько версий.
Начальная версия предлагала распознать отрывки изображений из книг. При этом множество людей, проходя капчу, помогали оцифровывать книги.
Весной 2012 года Google запустил эксперимент по распознаванию изображений из Google Maps и Google Street View
В самом начале 2015 года ReCAPTCHA была обновлена. Теперь пользователю предлагали просто поставить галочку в чекбоксе, после нажатия на чекбокс пользователю могут предложить выбрать все картинки, которые попадают под заранее установленные условия — например, выбрать все светофоры.
Последняя на данный момент версия ReCAPTCHA от 2018 года не требует действий от пользователя и работает в фоне. Никакой информации о внутренней работе системы Google на даёт, чтобы не помогать спамерам и владельцам ботов. Google обвиняют в слежке за пользователями, но CAPTCHA — работает.
YaCaptcha
YaCaptcha — капча от компании Яндекс. Неплохой вариант, боты с трудом распознают контуры.
На самом сайте Яндекса встречаются и другие виды капчи, например:
Или вот:
Совсем не напоминает ReCAPTCHA. Не похоже ни разу. И ни одного раза я не смог правильно её решить. Моё представление о том где есть платье и где его нет сильно различается с мнением разработчика.
NotCAPTCHA
Хороший пример интерактивной CAPTCHA. NotCAPTCHA — нужно повернуть картинки вертикально. Есть готовый плагин к CMS WordPress.
Интерактивная CAPTCHA
Ещё варианты, где нужно подвигать мышкой:
Ещё:
И ещё:
Идеальная CAPTCHA
Как показывает практика, чем проще капча для пользователя, тем она лучше.
Идеальная капча — это когда нет капчи. Но не всегда…
Сложно — это не плохо
Всё относительно, не всегда сложная капча — это плохо. Отличный пример, капча с физтеха:
В данном примере нужно найти сопротивление между A и B. Отлично отсеивает ботов и… ненужных людей.
9 альтернатив капче, которые не испортят ваш UX
CAPTCHA это аббревиатура от английских слов «Completely Automatic Public Turing Test to Tell Computers and Humans Apart», что означает — полностью автоматический тест Тьюринга для различения компьютеров и людей. Название содержит сразу и функции и основную цель: автоматический тест, который выявляет настоящих пользователей и устраняет злых роботов, которые распространяют спам и удаляют нужные материалы.
С 2000 года капча — это что-то раздражающее, при этом очень надежное. Но сегодня это уже не так (по крайней мере «надежная» часть). Один стар-ап из Сан Франциско утверждает, что изобрел алгоритм, который может взломать капчу с 90% результатом. Алгоритм Google Maps по распознаванию адреса, привлек взлом капчи с 99,8% точностью. Роботы могут победить.
Автоматические капчи проваливаются практически везде, нарушая процесс работы пользователя, например, во время покупок онлайн, банковских переводов или отправки сообщений.
К тому же, нужда и желание обезопасить свою онлайн-жизнь растет. Изучение анонимности в сети соглашается с тем, что пользователи хотят приватности, и готовы сделать что-нибудь, что бы не закончить, как этот парень. Поэтому, сейчас аутентификация пользователя, с совершенно необходимой, и в тоже время устаревшей капчей — доказанный источник сильного разочарования, особенно для тех, кто в UX. Такие капчи могут означать провал UX. Уменьшают поток пользователей, и даже более того, могут быть просто невозможны в использовании людьми с нарушением здоровья или проблемами со зрением. Это должно быть решено.
Капча, как предмет искусства
Важный, но мало обсуждаемый вопрос, это как подойти к решению такой веб-дилеммы. В то время, как некоторые фокусируются в основном на том, что не так с системой, мы предпочтем путь Уинстона Черчилля, который однажды написал: «Пессимист видит трудности при каждой возможности, оптимист в каждой трудности видит возможности.». Если бы он реинкарнировался в UX дизайнера, бывший премьер-министр Великобритании и лауреат Нобелевской премии по литературе, наверняка использовал бы этот подход с рациональным позитивом, подчеркивая хорошо-разработанную победу пользователю.
Подстегиваемые нуждой в альтернативе, чтобы изменить текст капчи в UX и повысить безопасность, люди по всему миру много работали, руководствуясь принципом Черчилля, чтобы создать более эффективные, простые, лучше выглядящие или даже забавные капчи.
С тех пор, как Гарри Каспаров сыграл с Deep Blue, было совершено множество попыток перехитрить роботов. И эта борьба за достойные меры веб безопасности (читай: которым не наплевать на пользователя) продолжается.
Вот 9 альтернатив капче для лучшего UX
1. Милая капча
Милая капча смело превращает текст в более интересную (хорошо, немного слащавую) игру.
Сопоставлять категории и предметы требует человеческого разума, и привносит веселья чему-то ужасному (капче, конечно). Такая капча может быть отличным вариантом для некоторых, но, определенно не для всех сайтов. Можно представить себе портфолио, детские сайты или игры, которые только выиграют от этого. Это вряд ли подойдет более серьезным компаниям. Кроме того, они проблемы не решают. Конечно, их пройти легче, чем неприятный закодированный текст классической капчи. Но пользователям все также придется расшифровывать картинку или работать с изображениями.
2. Игровая капча
Попадите в список проверенных людей. Вы же человек, правда?
Как показано на видео, игровая капча использует сходный с милой капчей принцип проверки. Их игры могут быть действительно приятной функцией для некоторых сайтов. В любом случае, более интересный способ, чтобы доказать свою человечность (робот бы точно перепутал такси с едой).
3. Биометрическая безопасность
Использовать данные, которые связаны с вашей ДНК для обычной онлайн проверки может быть очень эффективно… и немного жутко.
У ваших девайсов наверняка есть камера и интеллектуальный экран/трекпад, и разработчики хотят повлиять на уровень безопасности. Что может отражать вас больше, чем ваши глаза, лицо или отпечатки пальцев, верно? Доступ к вашему телу очень сильно ограничит спамеров при создании учетных записей электронной почты. Это захватывающая разработка, но все же есть обоснованные опасения о краже, которая переходит на другой уровень с данными ДНК. А именно, когда кто-то крадет ваш пароль, вы создаете новый. Если кто-то украдет вашу сетчатку или отпечатки пальцев… ужасно.
4. Подтверждение по СМС
Двух — ступенчатая аутентификация эффективна против взломов, однако требует второго устройства, с не всегда хорошим UX.
Безопасность мобильных приложений, особенно игровых, пытается не отставать от массы, опираясь в основном на телефоны пользователей, а не на традиционные пароли и ID. Одна статья даже предрекает смерть паролей в игровых приложениях из-за этого нового тренда. Это может быть сигналом большого изменения в безопасности (учитывая, что у каждого пользователя есть телефон).
Подтверждение по СМС с помощью привлечения личных девайсов, привязанных только к аккаунту, решает вопрос с хакерами. Это также сигнализирует о возможности для большей персональности в процессе обеспечения безопасности с сообщениями, которые могут обращаться к некоторым пользователям.
5. Капча, в зависимости от активности пользователя
Некоторые капчи труднее расшифровать, чем другие. Подобная капча будет легкой для тех, кто ведет себя как реальный человек.
В ответ на проблемы UX традиционной капчи, такая капча задает вопрос: «Сколько будет стоит отказ пользователя вашей компании?». Ее адаптивная аутентификация отслеживает активность пользователей. Например, пользователь, который ведет себя как спам-робот получит сложную капчу, а пользователь, который больше напоминает человека, более простую. Умная и простая, но при этом все та же капча.
6. Метод ловушки
Скрытые поля обманывают роботов при заполнении того, чего обычные пользователи не видят. Я использовал это на Digital Telepathy в некоторых проектах с успехом.
Метод ловушки пытается полностью покончить с прерыванием рабочего процесса пользователя, как делают все остальные капчи. Он отсеивает ботов, обманывая их авто-заполнением. Поскольку эти поля невидимы обычным пользователям, риск совсем небольшой. Проблемы возникают из-за браузеров, когда они сами авто-заполняют иноформацию без предупреждения пользователя (да, да, Safari, я о тебе), и когда роботы более продвинутые.
7. Математическая капча
Оказывается, спам-боты не так уж сильны в математике. Простые вопросы, типа этих, могут помочь вычислить спамеров, сохраняя UX на уровне.
Разработчики выяснили, что подобные математические вопросы могут быть одними из самых эффективных вариантов для определения реальных пользователей. С этим плагином WordPress — математическая капча, можно выбрать, когда ваша капча будет активирована, а также несколько интересных форматов, которые можно применить. Например, можно выбрать простую математическую задачу или очень сложную, а также задачу со словами.
8. Взаимодоверяющая капча
Как быстро вы разглядите птицу на этой картинке? Вот настолько быстро эта капча может работать!
Это еще одно распознавание человека на основе изображения. Это дает 96% точности, что очень неплохо, к тому же работает в два раза быстрее, чем классическая капча. Взаимодоверяющая капча действует по такому принципу: показывает около девяти картинок и затем спрашивает три вопроса об этих картинках. Например, когда я первый раз попробовал, у меня спросили: «Найдите среди картинок напиток, деньги и космос». После того, как я успешно нашел их, мне сказали, что я хомосапиенс. Ура!
9. NoCAPTCHA от reCAPTCHA
Во-первых, Google создал алгоритм, который может взломать капчу. Теперь они меняют систему, путем отслеживания ваших данных. Удивленны?
NoCAPTCHA чуть больше года. Это следующий шаг от reCAPTCHA от Google. На самом деле, это копает канаву всему замыслу капчи.
Их решение? Показатели. Отслеживание данных пользователя покажет, человек он или нет, и просто предложит отметить это галочкой. UX в том, что NoCAPTCHA просит вас отметить галочку в поле «Я не робот». После этого — все, готово. Быстрый вариант еще проще. Он покажет вам изображение, скажем, кошки. Затем панель с изображениями под картинкой кошки. Нужно будет найти все картинки, связанные с кошкой (котята, тигры, львы, подумать только!) и тогда он поймет, да, вы человек.
Очевидность — лучшее решение
Открытая Аутентификация (OAuth) работает со сторонними организациями (думаю, Facebook, LinkedIn, Twitter), и проверяет вашу личность с помощью существующего профиля, который требует проверки подлинности, например, с помощью капчи, при самом первом использовании им вами. Результатом OAuth, как известно разработчикам, является «безопасный доступ», и наблюдается тенденция к распространению.
Разработчики, как те, кто создает альтернативы капче, обращают веб разочарования в дизайн возможности. Это указывает на более оптимистичную эпоху UX. Дизайнеры, с другой стороны, всегда ищут способы сократить помехи на сайтах и приложениях. От веселья, людей и проверочных тестов, до компаний, которые превращают свои 404 экраны в игры, мы видим разумность и легкость (признак хорошего дизайна), а также внедрение новых технологий, связанных с нашей ДНК, что делает аутентификацию и навигацию более естественной.
Современные потребители (и продукты) создают функции, которые плохо выглядят или работают. Функции, которые когда-то были ненадежными, становятся более интуитивными, красивыми и запоминающимися. Но даже если капча улучшается, мир по прежнему полон дизайнерских проблем, которые представляют множество возможностей для улучшения.
Что такое капча и зачем она нужна
Капча (captcha) — это защитный код, который выводится на страницах интернета в ряде случаев. Смысл ее заключается в том, чтобы автоматические программы, так называемые «боты», не смогли пробиться на сайт.
Обычно капча — это сочетание букв и цифр, которые нужно ввести в окошко.
Но бывают и более хитрые варианты. Например, нужно решить уравнение, выбрать из нескольких картинок определенную или сделать что-нибудь еще.
Пока вы этого не сделаете, сайт будет заблокирован, то есть выполнить на нем определенные действия не получится.
Зачем нужна капча
Есть программы, которые могут автоматически что-то делать в интернете. Например, рассылать рекламу, публиковать фальшивые отзывы. И вот чтобы их заблокировать, владельцы сайтов ставят капчу.
Например, есть страница в интернете, где посетители оставляют отзывы. Любой человек может заполнить несколько полей (имя, адрес почты) и отправить на сайт свое сообщение, где оно и будет опубликовано.
Эти действия легко сымитировать программой. Ее можно «научить» заполнять поля и публиковать нужные отзывы, чем и пользуются мошенники. Поэтому и была придумана капча – ведь ее программа не введет, а, значит, не сможет опубликовать сообщение.
Но капча появляется и в других случаях. Например, вы просто общаетесь на своей страничке Вконтакте, и вдруг ни с того ни с сего она возникает. Пока вы ее не пройдете, на сайте ничего сделать не получится.
Это происходит потому, что системе показалось что-то в ваших действиях подозрительным. Например, вы слишком быстро отвечали на сообщения, и сайт заподозрил, что это делает не человек, а программа.
Вот и приходится вводить в окошко то, что нарисовано на картинке. Оно, конечно, не очень удобно, зато защищает страницы от взлома.
Следует заметить, что применение капчи всё равно не спасает сайты от рекламы, взломов и прочих нехороших вещей. Но всё-таки избавляет их от излишне настойчивых притязаний.
Какие бывают капчи и как их вводить
reCAPTCHA – проверка, разработанная Гугл. Чтобы ее пройти, нужно поставить галочку в квадратик возле «Я не робот».
Обычно через пару секунд после этого появляется птичка зеленого цвета – значит, капча пройдена.
Но бывает системе этого недостаточно и открывается окошко, где нужно выбрать картинки определенного вида. Например, все фотографии, где есть витрины. Значит, нужно щелкнуть по каждой из них левой кнопкой мышки.
На заметку. Нажимать нужно по каждой картинке, где есть хотя бы часть требуемого изображения. И выбирайте их не слишком быстро – между щелчками должно пройти 1-2 секунды.
Текстовые/цифровые капчи. В окошко нужно ввести кривоватые буквы/цифры, изображенные на картинке. Обычно английские, но бывают и русские.
Часто для удобства есть кнопка, нажав на которую картинка поменяется. Это нужно в случае, если буквы сложно разобрать. Ну, или когда вроде бы всё печатаешь верно, а система не пускает – выдает ошибку.
А еще бывает кнопка, которая озвучивает то, что написано. Нажав на нее, вы услышите голос, который проговорит буквы/цифры с картинки.
Образные. Это капчи в виде картинок. Как правило, нужно просто выбрать подходящее изображение.
Логические. В этом случае нужно решить какую-то задачку. Обычно она несложная: типа напечатайте, сколько будет 6 + 3. Значит, в уме (ну, или на калькуляторе) нужно сложить эти два числа, а результат напечатать в окошко.
Или, например, нужно ответить на какой-то вопрос, разгадать загадку.
Никто вас за это оценивать не будет. Просто таким образом система пытается отсеять автоматические регистрации. Если вы напечатаете правильный ответ, она вас пустит дальше. Ну а если нет, то предложит попробовать ввести капчу еще раз, но уже другую.
Автор: Илья Кривошеев
Вот почему CAPTCHA показывает вам изображения трафика
Добавлено 19 марта, 2019 Кимико Кидд автономный, CAPTCHA, google waymo, самостоятельное вождение, самоуправляемый автомобиль, тестирование автономных автомобилей, Waymo, сервис самоуправления WaymoКомментариев нет
Фото: smoothgroover22Когда-нибудь ваш просмотр был прерван из-за CAPTCHA, предлагающего вам нажимать на все автобусы, светофоры или знаки остановки? Ты наверное заметил, что CAPTCHA любит просить вас нажимать на изображения, связанные с вождением, так как в отличие от того, чтобы заставить вас идентифицировать всех котят или панд на картинке.Есть причина для этого, и все это ведет обратно к Big Tech.
Держите свой Buick в хорошем состоянии: Сервисный центр McKaig
Что такое капча?
CAPTCHA — это сокращение от «полностью автоматизированный публичный тест Тьюринга, позволяющий отличить компьютеры от людей ». Вы, скорее всего, использовать CAPTCHA при регистрации учетной записи, совершении покупки или публикации комментарий, потому что CAPTCHA предназначены для отсеивания спам-ботов от реальных пользователей. Следовательно, для прохождения теста требуются определенные человеческие навыки — например, способность для точного определения знаков и транспортных средств на дороге.
Использование данных от людей
Хотя в настоящее время боты немного не справляются с выбором вещей на дороге, это поучительный момент для ИИ. Согласно предположениям технических экспертов, каждый раз, когда вас просят посмотреть на изображение и щелкнуть все квадраты со знаком остановки, вы можете обучать будущему беспилотному автомобилю, в частности, автомобилю Waymo, принадлежащему Google.
Google уже использовал этот метод раньше. Помните старые времена, когда заполнение CAPTCHA означало просто интерпретацию искаженных слов и их ввод? Эти данные были использованы для улучшения технологии оптического распознавания символов, которая позволила Google Книги оцифровывать бумажные тексты.Затем CAPTCHA прошла этап, на котором пользователи могли интерпретировать номера домов и уличные знаки. Эти данные помогли улучшить Google Street View.
Waymo весит
Waymo объясняет, что использует множество методов для обучения своих автомобилей. правила дорожного движения, такие как данные из DNNresearch, который использует алгоритмы для визуальная классификация вместо человеческих усилий. Однако Майкл Каттер, который имеет докторскую степень в области компьютерной инженерии, полагает, что данные CAPTCHA используется для перепроверки работы ИИ.
Итак, в следующий раз, когда вам придется остановиться и щелкнуть по всем автобусам, знайте, что вы делаете дороги завтрашнего дня немного безопаснее.
Ездите домой стильно: Получите Buick
2019 годаИсточник: Ceros
Кимико Кидд — коренная жительница Дейтона. Она окончила Государственный университет Райта со степенью в области экологии и социологии. Она любит свою верную старую Honda Civic, но мечтает приобрести Ford Falcon XB 1974 года с нестандартной окраской и винтажный Kawasaki Z1000.В свободное время Кимико рисует акварелью, выпекает кексы, собирает камни, играет в олдскульные игры для Nintendo, пишет свой роман, шьет чучела животных и косплеит ее любимых персонажей Mad Max . Смотрите другие статьи Кимико.
Почему в онлайн-блоках CAPTCHA отображаются изображения трафика?
Приходилось ли вам когда-нибудь искать в Интернете, и ваш сеанс просмотра прерывался защитной CAPTCHA? CAPTCHA безопасности обычно предлагает вам щелкнуть изображения светофора, знаков остановки или автобусов.Они также могут попросить вас нажать на автомобили, грузовики или другие изображения, связанные с вождением. Причина этого не столько в автомобильном имидже, сколько в индустрии умных автомобилей.
CAPTCHA — это аббревиатура от «полностью автоматизированного общедоступного теста Тьюринга для различения компьютеров и людей». CAPTCHA впервые была выпущена в 2007 году и была создана в сотрудничестве с компьютерными учеными из Университета Карнеги-Меллона в Питтсбурге. В 2009 году Google перехватил эту идею и включил ее в определенные веб-сайты.Подсказки CAPTCHA обычно появляются, когда вам нужно совершить покупку, опубликовать комментарий или зарегистрировать учетную запись. Эти меры безопасности предназначены для того, чтобы отсеять ботов от реальных пользователей. Эти тесты обычно требуют от пользователя точной идентификации транспортных средств и дорожных знаков. Тест CAPTCHA отсеивает ботов, потому что каждый эксперимент требует определенного навыка, который может пройти только человек. Google увидел, что эти тесты могут принести пользу обеим сторонам. Веб-сайт может гарантировать, что вводимая информация принадлежит человеку, а пользователи могут транскрибировать данные с изображений для других технологических достижений.
В прошлом текст CAPTCHA предполагал интерпретацию искаженных слов, и эти данные использовались для улучшения технологии оптического распознавания символов Google для их оцифрованного бумажного текста. В 2012 году Google начал создавать фрагменты фотографий из Google Street View. К 2014 году система CAPTCHA была в первую очередь ориентирована на обучение ИИ. Google упомянул, что к тому времени они использовали CAPTCHA для обучения беспилотным автомобилям, таким как новые автомобили Waymo. Google использует изображения для обучения своего искусственного интеллекта, поскольку они показывают, что они улучшают результаты Карт Google, библиотеки фотографий и результаты поиска картинок Google.
Хотя CAPTCHAS определенно раздражает и отнимает много времени, каждая завершенная капча помогает сделать дороги немного безопаснее. Ваше время не зря тратится, а используется Google с пользой. А с учетом опасности ботов и вирусов CAPTCHA помогает предотвратить доступ ботов к некоторым из наиболее важных страниц веб-сайта.
Как обойти изображения Google ReCAPTCHA
« Я не робот, Google. ”Во время онлайн-поиска может быть неприятно доказывать, что вы все-таки человек.(Вы будете спам-ботом, пока не проявите себя как человек.) К тому времени, когда вы выберете все светофоры, пешеходные переходы и витрины магазинов, вы можете забыть исходную тему поиска. (Со мной такое случается постоянно.)
Соответственно, мы покажем вам несколько простых способов обойти отнимающие много времени изображения ReCAPTCHA от Google.
Связанные : Капчи: зачем они нам нужны, как они развиваются и как их легче решать
1. Решите аудио-задачу: все быстрее
Аудиоверсии ReCAPTCHA намного быстрее.Если вы столкнулись с визуальной проблемой, всегда игнорируйте ее и сразу же нажимайте кнопку аудио. Нажмите «Play», и вы услышите звуковой вызов.
Лично у меня не требуется больше восьми-десяти секунд, чтобы решить проблему со звуком. С Image ReCAPTCHA я ошибаюсь почти девять раз из десяти. Это может быть связано с тем, что в аудиозаданиях используются простые английские слова, что означает большую вероятность их правильного понимания с первого раза.
В случае, если вы не услышали его с первой попытки, просто скачайте аудиофайл.Он откроется в новой вкладке для пользователей Chrome / Firefox. Эти файлы работают всего три-четыре секунды, так что вы можете легко воспроизвести звуки, чтобы убедиться, что вы правильно слышите.
2. Используйте VPN
VPN-адресов позволяют вам законно обходить препятствия Google ReCAPTCHA. Для достижения наилучших результатов выберите хорошо известный VPN-сервис вместо бесплатного VPN, который придет со своим собственным набором проблем. Хорошие VPN маскируют ваш трафик, защищают данные вашего устройства и не ведут журналы.
У меня есть привычка быстро очищать кеш браузера при изменении местоположения VPN ( Ctrl + H ). В совокупности это намного быстрее, чем решение головоломок с изображениями.
3. Используйте ботов обхода ReCAPTCHA
Вы также можете загрузить расширения для браузера, которые решают проблемы от вашего имени. Одним из них является Buster, который отлично справляется с обходом проблем со звуком, доступный как в Chrome, так и в Firefox. Как только вы сталкиваетесь с визуальной проблемой, активируется значок расширения (см. Ниже).
Затем продолжайте аудио-вызов как обычно. Вместо вашего человеческого уха его решает бот.
Точность не 100%, но если вы собираетесь сталкиваться с Google ReCAPTCHA всего несколько раз в день, этого подойдет.
Однако иногда это вызывает сообщение «Ваш компьютер может отправлять автоматические запросы». Когда это произойдет, вы на какое-то время заблокируете доступ к аудиокапче.
4.Нанять службу разгадывания капчи
Хорошая новость заключается в том, что существует множество сервисов декодирования CAPTCHA, которые помогут вам решить CAPTCHA с использованием операторов ввода данных человеком. Anti-Captcha — хороший пример с самым быстрым временем отклика от семи до десяти секунд на головоломку с изображением. Он утверждает, что работает с 2007 года. Стоимость услуги составляет около 2 долларов за 1000 головоломок reCAPTCHA v2, которые сложнее.
2Captcha — еще один сервис, который делает нечто подобное.
Заключение
Знаете ли вы, что тесты изображений ReCAPTCHA — это способ Google заставить других работать над своими проектами в области искусственного интеллекта? Используя инструмент ReCAPTCHA, Google оцифровал всю библиотеку Google Книг и весь архив New York Times.
Не поймите меня неправильно — я большой поклонник машинного обучения. Но, в то же время, никто не хочет разгадывать эти головоломки. К счастью, Google осознал свою ошибку и разработал reCAPTCHA v3. В этой версии пользователи не прерываются, но их действия на веб-сайте определяют, являются ли они людьми или ботами.
Эта статья полезна? да Нет
Саяк БоралСаяк Борал — технический писатель с более чем десятилетним опытом работы в различных отраслях, включая полупроводники, Интернет вещей, корпоративные ИТ, телекоммуникации OSS / BSS и безопасность сетей.Он писал для MakeTechEasier по широкому кругу технических тем, включая Windows, Android, Интернет, руководства по оборудованию, браузеры, программные инструменты и обзоры продуктов.
Удивительные секреты, скрывающиеся за изображениями CAPTCHA — Urbo
Если вы когда-либо пользовались Интернетом с 2003 года, вы видели их повсюду.
На данный момент тесты CAPTCHA являются частью Интернета.Веб-сайты используют их, чтобы отличать людей от роботов — это полезно, если вам нужно, например, защитить финансовую информацию или предотвратить рассылку хакерами спама в форме с сотнями автоматических записей.
Но как именно работают тесты CAPTCHA и что делает их эффективными против попыток автоматического взлома?
Первоначально целью CAPTCHA было создание текста, который компьютеры не могли прочитать.
Несколько исследовательских групп утверждают, что изобрели CAPTCHA. Первая (и самая известная) команда работала в Altavista, поисковой системе, которая была довольно популярна в конце 1990-х; их цель состояла в том, чтобы помешать ботам автоматически добавлять страницы в веб-индекс Altavista.
Чтобы создать CAPTCHA, команда Altavista изучила руководство по эксплуатации своего офисного сканера. Сканер поставлялся с программным обеспечением, которое могло распознавать текстовые символы, а в руководство были включены инструкции по улучшению читаемости. Команда Altavista решила просто перевернуть инструкции, намеренно создавая текст, который было бы трудно расшифровать компьютерам.
Но в 1997 году другая команда подала заявку на патент на технологию, подобную CAPTCHA. Этот патент появился на год раньше, чем команда Altavista.Тем не менее, другая команда опубликовала описание технологии CAPTCHA в 2003 году, что вызвало длительный спор о том, кто действительно может претендовать на эту технологию.
Однако мы знаем, кто придумал аббревиатуру CAPTCHA.
Это будет команда 2003 года, возглавляемая Луисом фон Ан, Мануэлем Блюмом, Николасом Хоппером и Джоном Лэнгфордом.
CAPTCHA означает «полностью автоматизированный общедоступный тест Тьюринга, позволяющий отличить компьютеры от людей». Конечно, создатели упустили несколько слов, чтобы аббревиатура работала; «CAPTTTTCAHA» не так запоминается.
Некоторые современные CAPTCHA работают, предлагая пользователям щелкнуть определенные изображения.
Например, один популярный инструмент CAPTCHA часто просит пользователей «щелкнуть все изображения, на которых есть дорожный знак». Если вы когда-нибудь задумывались, следует ли выделить часть изображения с табличкой (это ведь часть знака, верно?), У нас для вас хорошие новости: это не имеет значения.
Эти системы на основе изображений работают, отслеживая движения мыши, местоположения щелчков и другие переменные, а не оценивая индивидуальные способности пользователя.Фактически, Google «No CAPTCHA reCAPTCHA» пропускает все шумихи, вместо этого просто предлагая пользователям щелкнуть одно поле.
«Для большинства пользователей это значительно упрощает работу», — говорит Виней Шет, менеджер по продукту группы Google Captcha, по телефону Wired.com . «Они в основном получают бесплатный пропуск. Вы можете разгадывать капчу, не разгадывая ее ».
CAPTCHA разочаровывают пользователей, потому что их сложно читать.
Однако в безумии есть своя методика.Тесты CAPTCHA намеренно имеют плохую «сегментацию», то есть способность отделять буквы друг от друга. Буквы также сильно различаются по стилю, поскольку компьютеры не могут легко идентифицировать эти переменные.
Большинство CAPTCHA используют слова, так как люди сразу же смогут использовать контекстные подсказки, чтобы различать, скажем, «собака» и «даг», если «о» и «а» выглядят одинаково.
Несмотря на то, что эти тесты популярны, они вызывают споры, так как часто вызывают проблемы у реальных пользователей с плохим зрением.Кроме того, они не надежны; мало исследований эффективности текстовых CAPTCHA, некоторые эксперты предположили , что их легко использовать.
В 2014 году Google опубликовал анализ , показывающий, что современный искусственный интеллект может «решить даже самый сложный вариант искаженного текста с точностью 99,8%».
Имейте это в виду, когда в следующий раз столкнетесь с текстовым тестом CAPTCHA; вы переживаете все эти неприятности из-за… ну, ничего.
11 самых популярных типов капчи
Вы можете найти термин «капча» странным и техническим, на самом деле, этот термин уже давно является частью вашей повседневной работы в Интернете. Вы наверняка сталкиваетесь с капчами много раз при создании учетной записи, входе в систему, оставлении комментария, загрузке файла или сбросе пароля на многих веб-сайтах.
Различные виды капч обычно называются небольшими онлайн-экзаменами или тестами, которые необходимо пройти для использования веб-сайтов или программного обеспечения.Вы можете подумать, что капча раздражает и бессмысленна. Но держись! Вы когда-нибудь интересовались причинами, по которым большинство веб-сайтов отображают форму капчи? Сколько типов капчи вы использовали?
Чтобы ответить на эти вопросы, давайте рассмотрим основную идею капчи, различные типы капчи, а также преимущества и недостатки этой системы запрос-ответ.
Краткое описание Captcha
В последние годы спамеры чаще, чем когда-либо, нацелены на личную информацию.Оказывается, одно из самых больших сомнений заключается в том, как определить, кто заходит на сайт: бот или человек.
Подавляющая армия спам-ботов, притворяющихся людьми, поставила перед всеми веб-разработчиками настоятельную необходимость найти эффективный способ их предотвращения. Разработанная в начале 2000-х годов в Университете Карнеги-Меллона, капча бывает разных размеров и типов.
Проще говоря, капча — это функция безопасности, широко используемая в веб-индустрии для защиты от спама, ботов или DOS-атак.Captcha, сокращение от полностью автоматизированного общедоступного теста Тьюринга, применяется владельцами веб-сайтов, чтобы убедиться, что веб-сайт использует человек с добрыми намерениями.
Почему вашему сайту требуется Captcha
По разным причинам существует множество людей, намеревающихся нанести ущерб вашему сайту. Это может быть злонамеренная реклама для развлечения или недобросовестная конкуренция. Эти плохие люди используют «ботов» для создания бесполезного вредоносного контента, оставляя бесчисленное количество спама в разделах комментариев веб-сайтов или очищая адреса электронной почты.
Captcha применяется для решения этих проблем и хорошо помогает роботам не манипулировать сервисами. Давайте начнем копаться в четырех основных преимуществах, которые делают капчу важной и полезной!
Предотвращение поддельных регистраций
Спам-боты тщательно ищут в Интернете формы регистрации, которые нужно заполнить. Они могут стремиться найти слабые места вашего сайта или нанести ущерб вашим почтовым кампаниям. Чтобы защитить процесс регистрации, крупные веб-сайты, такие как Facebook и Gmail, интегрировали капчу.
Captcha поможет этим сайтам отличить человека от бота, поэтому эта автоматизированная компьютерная программа не сможет проникнуть на ваш сайт через регистрационную форму.
Предотвращение нежелательных комментариев
Многие спамеры бомбардируют разделы с комментариями, чтобы повысить рейтинг кликов на своих веб-сайтах и поднять рейтинг в поисковых системах.
Эти комментарии, не относящиеся к вашему сообщению, будут раздражать читателей и подвергать ваш сайт опасности, когда поисковые системы находят ссылки на сайты, распространяющие вирусы.Captcha помогает избежать этого, позволяя оставлять комментарии только людям.
Повышение безопасности покупок в Интернете
Спам и мошенничество с заказами — это основная головная боль, от которой в какой-то момент страдает любой интернет-магазин. Конкуренты могут использовать недопустимые имена, адреса электронной почты и адреса доставки для заказа вашей продукции; в результате вы потратите время и деньги, чтобы никому не доставлять продукцию.
Этот вид спама в долгосрочной перспективе пагубно скажется на развитии вашего онлайн-бизнеса.Установка капчи на этих сайтах — идеальный вариант, чтобы убедиться, что покупателями являются люди.
Защита учетных записей электронной почты
Хакеры будут неоднократно пытаться войти в учетную запись электронной почты, пробуя сотни различных паролей. Чтобы не дать этим плохим парням когда-нибудь украсть учетные записи, Gmail просит своих пользователей заполнить форму проверки подлинности, чтобы снизить риски потери учетных записей.
Как работает Captcha?
Captcha работает в основном на основе анализа различий между человеческими и автоматизированными компьютерными программами.Это создает некоторые проблемы, с которыми сложно справиться компьютерам, но легко ответить людям.
Тест капчи основан на трех различных аспектах: инвариантном распознавании, сегментации и контексте. Люди могут распознавать символы из разных образов и форм, отделять символ от другого персонажа, перекрывающего друг друга, и понимать символы в их правильном контексте, который машине трудно выполнять одновременно.
Легко доступный для людей, сложный для ботов и легкий для тестера машины для создания и оценки — вот 3 основных атрибута, которым должна удовлетворять капча.
Все типы капчи, упомянутые ниже, основаны на способности идентифицировать и вычислять визуальные / звуковые / текстовые сигналы, которые было бы чрезвычайно сложно воспроизвести в ботах.
Какие бывают типы капч?
№1. Простая математическая задача
Возможно, вы видели этот тип капчи регулярно. Появится форма капчи с математической задачей, требующей от вас решения и ввода ответа. Роботу сложно решить такие простые вопросы, как «1 + 2», «8-3».
Математическая задача — это просто кусок пирога для пользователей, поэтому они могут быстро ее решить и перемещать свои задачи без особого раздражения. Однако этот простой тест не может гарантировать безопасность веб-сайта, потому что он не такой сложный, как некоторые другие типы капч.
№2. Проблема со словом
Этот популярный тип капчи различается по разным формам, но все они состоят из двух простых частей: текстового поля и последовательности букв или цифр. Чтобы подтвердить свою человеческую личность, важно внимательно следовать инструкциям теста.
Тест может попросить вас повторно ввести неупорядоченную последовательность букв, ввести последнее слово из нескольких или ответить цветом, которым отображаются слова.
Этот тип теста является отличным вариантом для пользователей с нарушением зрения и проблем с другими типами капчи. Главный недостаток заключается в том, что эта форма капчи легко решается роботами, которые становятся более умными.
№3. Вход в соцсети
Когда вы регистрируетесь на веб-сайте, альтернативой ввода вашей личной информации является использование вашей учетной записи в социальной сети.
Вместо того, чтобы просить пользователей создавать свои собственные имена пользователей и пароли, владелец сети может разрешить им использовать учетную запись Gmail или Facebook с помощью нескольких простых щелчков мышью. Этот метод остановит регистрацию ботов, поскольку у них нет учетных записей в социальных сетях.
Этот тип капчи экономит время пользователей и повышает безопасность сайта. Пользователи могут использовать учетную запись в социальных сетях, не тратя время на заполнение формы входа. Плохая сторона заключается в том, что некоторые пользователи могут не решаться связать свои социальные сайты с совершенно новым сайтом, что может оттолкнуть.
№4. По времени
Регистрация количества времени, которое пользователи тратят на заполнение формы, — еще один эффективный тип капчи.
Боты, как правило, заполняют форму немедленно, в то время как людям потребуется некоторое время, чтобы ввести необходимую информацию. Однако некоторые пользователи легко разочаровываются, тратя время на заполнение множества форм каждый раз, когда они комментируют или выполняют задачу.
№ 5. Приманка
Honeypot эволюционирует, создавая множество скрытых полей на веб-странице, чтобы обманывать ботов.Боты запрограммированы так, чтобы заполнять все поля, которые они находят, даже невидимые. Всякий раз, когда боты заполняют его, веб-сайт мгновенно распознает, что это не настоящий пользователь.
Выдающимся преимуществом этой замечательной ловушки является то, что пользователей не отвлекают раздражающие игры с капчей или они не тратят время на ввод большого количества ненужной информации. Скорее всего, они даже не знают, как выглядит капча приманки, или не взаимодействуют с ними при посещении веб-сайта.
Иногда есть вероятность, что умные боты легко обнаружат эту уловку и без всяких усилий обнаружат скрытые поля.
№ 6. Идентификация изображения
Капча для идентификации изображения предлагает различные формы проверки изображения, от присвоения имен изображениям, различения изображений из набора изображений до выявления нечетного изображения из набора. Этот тип капчи в полной мере использует слабое зрение ботов для решения проблем, связанных с изображениями.
С этим типом капчи пользователям не нужно читать какой-либо текст, вместо этого они просто распознают объект или идею по картинкам. В некоторых случаях выбор объекта из множества заданных изображений может занять много времени, и пользователям, возможно, придется иметь дело с более чем одним тестом, если первый не удастся.
№ 7. Без капчи Recaptcha
Google только что запустил этот тип капчи с 2014 года, но он становится все более популярным в Интернете. Пользователям предоставляется флажок «Я не робот», и они просто щелкают его.
Этот метод отслеживает движение и фигуры. Боты, которые очень методичны, чаще устанавливают флажок прямо посередине, в то время как люди, как правило, щелкают в некоторых других областях поля. Пользователи могут выполнить эту задачу без особых усилий, но для ботов она оказывается очень сложной.
No captcha Recaptcha невероятно эффективен и точен. Однако, поскольку первый тест не проходит, есть еще один тест, требующий от пользователей выбора всех связанных изображений из следующего раздела или ввода некоторых комбинаций цифр или букв. Следующий тест может доставить неудобства пользователям.
№ 8. Невидимая рекапча
Invisible Recaptcha — это обновленная версия функции No captcha Recaptcha. Как и его название, эта капча полностью невидима для пользователей, стремясь создать более удовлетворительный пользовательский опыт, чем ранее упомянутые методы.Поэтому пользователям не нужно ставить галочку, вводить текст, сопоставлять изображения или заполнять форму.
Вместо того, чтобы идентифицировать ботов с помощью этих методов, невидимая рекапча включает в себя наблюдение за тем, как пользователи взаимодействуют с веб-сайтом, как они нажимают на существующую кнопку, как они перемещают мышь, и другие варианты поведения, выбранные и проанализированные Google.
Этот тип капчи дает беспроигрышные преимущества как для веб-пользователей, так и для веб-владельцев. Веб-сайты по-прежнему могут использовать службу captcha для обнаружения спам-ботов, в то время как посетители могут попасть прямо на сайт без лишнего набора текста или щелчков.Несмотря на его успех и популярность, у ботов может появиться возможность справиться с этим тестом в будущем.
№ 9. Уверенный Recaptcha
Уверенная капча — это метод на основе изображений. Он предоставляет подборку изображений с инструкциями. Например, пользователям предлагается «щелкнуть каждое изображение с автомобилем». В отличие от других типов капчи, веб-владелец может монетизировать и использовать эту рекламу капчи, что может приносить доход.
Confident Recaptcha имеет 96% успеха, но пользователи, которые не выполнили задачу правильно с первого раза, должны повторить попытку с другим изображением, что может их обескуражить.
№ 10. Сладкая капча
Этот тип капчи очень похож на предыдущий. Пользователей просят перемещать или сопоставлять предметы друг с другом, что может вызвать трудности для ботов. Sweet captcha — это эффективный инструмент для определения личности, но он может нарушить работу пользователей, поскольку для выполнения задачи может потребоваться время.
№ 11. Биометрия
Поскольку растет число интеллектуальных устройств, оснащенных датчиками отпечатков пальцев, эта функция очень полезна для подтверждения уникальной личности.Биометрия еще не является реальной капчей, но она заложила базовую основу для обеспечения полной безопасности с помощью капчи.
В будущем веб-сайты с большей вероятностью будут применять этот тип капчи, и вам просто нужно будет использовать свои отпечатки пальцев вместо ввода имени пользователя и пароля.
У каждого человека есть уникальные отпечатки пальцев, что позволяет предотвратить рассылку спама ботами на веб-сайтах. Недостатком может быть то, что вы не можете сбросить или изменить учетную запись, когда биометрический метод (лицо, голос, отпечаток пальца) скомпрометирован.
Captchas все еще имеют недостатки
Хотя использование капчи для блокировки ботов — идеальный вариант, вы должны знать о его недостатках. К недостаткам капчи можно отнести:
Разочарование клиентов
Представьте, что всякий раз, когда вы просматриваете веб-сайт, вам требуется в среднем 5-6 секунд, чтобы выполнить тест, который просят вас выполнить, чтобы подтвердить человечность. Нетерпеливые люди могут заблокироваться и найти альтернативный веб-сайт, когда им придется иметь дело с различными онлайн-тестами.
Недоступность — еще одна проблема. Капча разрабатывается для решения более сложных задач, что затрудняет работу тех, у кого есть некоторые виды глазной дисфункции. Даже если у вас отличное зрение, иногда невозможно пройти некоторые тесты.
Не эффективное средство против ботов
Вы можете полагать, что капча на 100% защитит ваш сайт от плохих ботов, в противном случае это не всегда идеально. В настоящее время продвинутые боты начали обходить капчи, так что оказалось, что капча действительно может блокировать базовые боты от рассылки спама на ваш сайт.
Какой тип Captcha лучше всего подходит для вашего сайта?
Captcha играет важную роль в различении людей и ботов, а также в повышении безопасности веб-сайта.
В этом сообщении упоминается 11 различных типов капчи со своими плюсами и минусами, а именно простые математические задачи, проблемы со словами, вход в социальные сети, привязка по времени, приманка, идентификация изображения, без капчи, рекапча, невидимая рекапча, надежная капча, сладкая капча и биометрия.
Эти типы капчи представляют собой серьезный барьер для большинства примитивных ботов. Но помните, что большинство существующих капч уже взломано продвинутыми ботами.
Увеличение возможностей искусственного интеллекта приводит к значительному росту спам-ботов. Таким образом, капча требуется, чтобы усложняться в ответ на обстоятельства.
Понятно, что капча помогает всем веб-сайтам блокировать ботов и предотвращать мошенников. Но иногда он выглядит как бесполезный и раздражающий инструмент, который может нанести вред удобству использования и доступности вашего веб-сайта.Так что примите это во внимание, попробуйте несколько вариантов и решите, какая капча подходит для вашего бизнеса.
Если вы использовали какие-либо типы капчи из нашего списка, поделитесь с нами своими мыслями в комментариях ниже!
Что это такое и как их решить
CAPTCHA — это тест, который проверяет, отправляет ли онлайн-форму человек, а не компьютерная программа. Он предназначен для предотвращения обмана системы ботами, службами автоматического розыгрыша лотереи, хакерами и аналогичными автоматическими входами.
Что стоит за забавным названием? CAPTCHA — это аббревиатура от «Полностью автоматизированный общедоступный тест Тьюринга, позволяющий отличить компьютеры от людей». Тест Тьюринга — это тест на интеллект в компьютере или программе.
CAPTCHA имеют широкий спектр применения. Они предотвращают атаки хакеров методом «грубой силы», при которых они пытаются взломать учетную запись, угадывая все возможные комбинации паролей. Они также предотвращают мошеннические лотереи и незаконное голосование в конкурсах.
Как работают капчи?
Наиболее распространенные CAPTCHA отображают серию букв и цифр. Участник должен ввести эти символы, прежде чем он сможет отправить форму.
Теоретически компьютеры могут распознавать текст на изображениях, но для того, чтобы делать это надежно, им необходимо чистое, четкое изображение.
Чтобы компьютер затруднил чтение символов, CAPTCHA часто искажаются или помещаются на непонятный фоновый узор. Программное обеспечение не может легко идентифицировать буквы и цифры по их форме.
Вместо странных букв и цифр некоторые CAPTCHA предлагают людям поиграть в игру, например положить все движущиеся изображения еды на тарелку, игнорируя изображения, на которых еда не изображена. Это тоже тест, который сложно пройти компьютеру.
Некоторые CAPTCHA предлагают возможность прослушивания букв, когда они произносятся вслух, что особенно важно для людей с ослабленным зрением. Они также могут попросить вас выполнить другие действия, например выбрать все картинки, на которых изображен дом или дорожный знак.
Почему капчи такие хитрые?
Хотя люди должны легко разгадывать их, коды CAPTCHA могут сбивать с толку и разочаровывать. Однако есть веская причина, почему они не легче.
Блокировка читеров и спамеров — это игра в кошки-мышки; Мошенники всегда пытаются взломать CAPTCHA, а компании всегда стараются усилить свою безопасность, чтобы их было труднее обойти, пропуская законные записи.
Понимание методов, которые используют спамеры для обхода CAPTCHA, проливает свет на то, почему эти коды CAPTCHA могут быть трудными для ввода.Вот некоторые из наиболее распространенных:
CAPTCHA может испортить ваш UX. Вот как это правильно использовать
«Я не робот» кажется, что доказать это проще всего. Но если вы когда-нибудь замечали, что щурились над CAPTCHA, пытаясь выбрать фотографии пешеходных переходов, вы знаете, что это не так просто, как кажется.
CAPTCHA предназначены для защиты веб-сайтов от вредоносных ботов. При правильном использовании они являются полезной защитой от спама и поддельных аккаунтов.Но CAPTCHA (и сами боты) стали настолько сложными, что тесты могут в конечном итоге заблокировать пользователей.
Все больше сходится во мнении, что веб-дизайнеры должны предоставлять правильный тип CAPTCHA и использовать его только при определенных обстоятельствах. В противном случае за CAPTCHA приходится платить за удобство использования (UX) и доступность.
Здесь мы погрузимся в то, как CAPTCHA эволюционировала до своего текущего состояния, и обсудим, что мы можем сделать, чтобы повысить ее полезность и уменьшить разочарование.
Эволюция CAPTCHA и UX
Чтобы понять противоречие между целями безопасности CAPTCHA и UX, вы сначала должны понять его (удивительно увлекательное!) Происхождение и эволюцию.
Термин CAPTCHA означает полностью автоматизированный общедоступный тест Тьюринга, позволяющий отличить компьютеры от людей. Этот довольно вымышленный акроним отсылает к знаменитому тесту Тьюринга Алана Тьюринга: наша способность оценивать сложность искусственного интеллекта на основе способности человека отличать человека от робота.
Истоки CAPTCHA
CAPTCHA была создана в начале 2000-х годов для борьбы с эпидемией ботов, которые рассылали спам ранние поисковые системы и забивали Интернет.Кредит на его изобретение оспаривается, но исследователи из Университета Карнеги-Меллона, безусловно, первыми использовали его. Первоначальная CAPTCHA имела форму текста, искаженного до такой степени, что компьютеры могли расшифровать, оставаясь при этом (в основном) разборчивым для людей. Проблемы также служили привратниками для всех пользователей определенной веб-страницы, а не представлялись только подозрительным пользователям. Вначале высказывались опасения, что технология создает проблемы с доступностью, но вскоре люди привыкли к маленькому флажку, который доказывал их человечность.
Включение CAPTCHA (и пользователей) в работу
Вскоре разработчики CAPTCHA поняли, что эту технологию можно использовать для чего-то более полезного, чем просто заставлять пользователей переводить бессмысленный искаженный текст. Они разработали reCAPTCHA, которая заставляла пользователей работать над оцифровкой архива New York Times, поскольку люди могли расшифровать искаженные буквы в старой газетной бумаге лучше, чем компьютеры. В 2009 году Google купила reCAPTCHA и применила ее для оцифровки книг Google.
Затем, в 2013 году, Google представил версию CAPTCHA для распознавания изображений с использованием фотографий из Google Street View.Они использовали эти идентификационные данные изображения, чтобы обучить свой искусственный интеллект более эффективному распознаванию объектов. Чем больше узнавал ИИ, тем меньше преимуществ было у людей, поэтому, по сути, Google обучил CAPTCHA, чтобы она стала устаревшей.
К 2014 году один из алгоритмов машинного обучения Google на 66% более успешно решал текстовые CAPTCHA, чем люди, что означало, что пришло время для новой эволюции.
CAPTCHA версии 3: рост машин
Затем Google перешел на «No CAPTCHA reCAPTCHA», который, по их словам, «использует расширенный механизм анализа рисков и адаптивные задачи, чтобы предотвратить злонамеренные действия вредоносного ПО на вашем компьютере. Веб-сайт.«Хотя Google, как всегда, скрывает внутреннюю работу своего алгоритма обнаружения ботов, этот подход все же был большим шагом вперед в использовании CAPTCHA только для трафика, который кажется подозрительным.
В последние годы появилось много новых типов CAPTCHA, таких как математические и словесные задачи, а также формы CAPTCHA, которые больше похожи на игры. Такое разнообразие кода CAPTCHA помогло сохранить технологию, поскольку хакеры не могут просто запрограммировать один скрипт, который будет работать на каждой веб-странице.
Несмотря на попытки геймификации CAPTCHA, многие пользователи (и разработчики) по-прежнему считают это раздражением.
Подводные камни CAPTCHA для UX
На протяжении всего своего существования CAPTCHA была поляризующей технологией, потому что при плохой реализации она может быть разочаровывающей и неэффективной.
Первая проблема с CAPTCHA — это доступность . Ранняя CAPTCHA была кошмаром для людей с нарушениями зрения, которые не могли читать искаженные символы на экране.Вскоре разработчики добавили звуковую CAPTCHA, чтобы пользователи могли слышать буквы, но проблемы с доступностью остались. Например, исследование 2016 года показало, что у пользователей с ограниченными возможностями обучения было больше трудностей и они более негативно относились к тестам CAPTCHA.
Тогда есть проблема разочарования . По мере того, как задачи CAPTCHA становятся все более сложными, чтобы избавиться от ботов, они становятся все более трудоемкими и трудоемкими для пользователей.
В другом исследовании 2016 года сравнивались разные типы CAPTCHA.Они обнаружили, что текстовые задачи были наиболее разочаровывающими для пользователей, а математические тесты имели самый низкий процент успешных результатов, и хотя идентификация изображений и игры были самыми высокими для UX, они также занимали больше всего времени. В конечном итоге они пришли к выводу, что «ни один из существующих тестов не идеален».
Наконец, есть вопрос об эффективности . CAPTCHA имеет чистое положительное влияние на UX только в том случае, если она действительно работает на обеспечение меньшего количества спама в Интернете для всех. Но сложные боты все больше и больше способны решать головоломки CAPTCHA.Кроме того, «фермы CAPTCHA», в которых спамеры платят людям за сдачу тестов CAPTCHA за копейки, существуют уже много лет.
Честно говоря, чрезвычайно сложно разработать тест настолько универсальный, чтобы его мог пройти любой человек. Профессор Джейсон Полакис объяснил загадку The Verge : «Вам нужна какая-то задача, которая работает с кем-то из Греции, кто-то из Чикаго, кто-то из Южной Африки, Ирана и Австралии одновременно. И он не должен зависеть от культурных сложностей и различий.Вам нужно что-то, что легко для обычного человека, это не должно быть привязано к определенной подгруппе людей, и в то же время это должно быть сложно для компьютеров. Это очень ограничивает то, что вы на самом деле можете сделать «.
Заставить CAPTCHA работать для всех
Несмотря на свой потенциал неправильного использования, CAPTCHA по-прежнему остается важным инструментом защиты от ботов. Ключ в том, чтобы использовать его только тогда, когда поведение пользователя вызывает подозрение, и он был отмечен как потенциальный бот.
Есть несколько способов определить это, некоторые из которых выходят за рамки традиционной CAPTCHA.Например, «непрерывная проверка подлинности» ищет физические сигналы при взаимодействии пользователя с веб-страницами. Заполняют ли они веб-формы со сверхчеловеческой скоростью? Их движения курсора более точны, чем у людей с нашей несовершенной моторикой?
Веб-разработчики могут использовать этот адаптивный подход в сочетании с тестами CAPTCHA. Функция обнаружения ботов Auth0 постоянно оценивает риск, проверяя каждый IP-адрес, взаимодействующий с веб-сайтом, и определяя вероятность того, что это бот. Он анализирует поведение этого IP-адреса в Интернете и присваивает ему рейтинг репутации.Если этот показатель низкий, механизм обнаружения ботов сталкивается с пользователем с помощью CAPTCHA. Клиенты Auth0, которые включают эту функцию, могут выбирать из общей CAPTCHA или использовать reCAPTCHA Google.
Этот тип использования позволяет CAPTCHA работать должным образом, не создавая ненужных препятствий для законных пользователей.
Кроме того, важно реализовать правильный тип кода CAPTCHA: тот, который назначает тесты случайным образом и не использует повторно одно и то же решение. По этой причине разработчикам не рекомендуется писать собственный скрипт CAPTCHA или использовать бесплатный плагин, не зная его происхождения.
В будущем маятник может качнуться в сторону форм CAPTCHA, которые идентифицируют людей не по нашей способности превзойти ботов, а по нашей склонности делать ошибки, которых не стал бы ИИ. Например, в 2017 году Amazon запатентовал тест Тьюринга, вызванный ошибкой. Этот тип CAPTCHA предоставляет пользователям сложные тесты, которые люди, как правило, терпят неудачу, а боты отвечают правильно.
Некоторые веб-сайты также используют приманки — форму CAPTCHA, невидимую для пользователей. Этот метод вставляет поля на экран, которые видны только ботам, заставляя их заполнять формы и доказывая, что они не люди.
Наконец, CAPTCHA не должна быть вашей единственной защитой от ботов. Социальные учетные записи, которые позволяют пользователям подтверждать свою личность через учетную запись в социальных сетях или через другого надежного поставщика удостоверений, являются еще одним полезным методом ограничения использования веб-сайта реальными людьми.
CAPTCHA меняется, но никуда не денется
Пока есть спамеры, пытающиеся создать поддельные учетные записи, будет потребность в технологии, которая отделяет пользователей-людей от спам-ботов. Из-за этого всегда будет существовать какая-то форма технологии CAPTCHA, которая будет развиваться параллельно с ИИ.
CAPTCHA будущего, вероятно, не будет иметь ничего общего с сегодняшними задачами «найти дорожный знак». Но пока эти простые тесты по-прежнему являются частью интеллектуальной стратегии обнаружения ботов. Дизайнеры веб-сайтов, использующие CAPTCHA, должны быть открыты для этой эволюции и всегда продуманно использовать эту технологию, чтобы гарантировать, что они не наказывают своих пользователей-людей.
Об Auth0
Auth0 предоставляет платформу для аутентификации, авторизации и безопасного доступа для приложений, устройств и пользователей.Команды безопасности и приложений полагаются на простоту, расширяемость и опыт Auth0, чтобы идентификация работала для всех. Защищая миллиарды транзакций входа в систему каждый месяц, Auth0 защищает идентификационные данные, чтобы новаторы могли вводить новшества, и дает возможность глобальным предприятиям предоставлять надежные и превосходные цифровые возможности своим клиентам по всему миру.
Для получения дополнительной информации посетите https://auth0.