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

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

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

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

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

Типы CAPTCHA

CAPTCHA бывает разных типов, вот некоторые из них:

1. Текстовая картинка CAPTCHA

instagram viewer

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

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

2. Аудио CAPTCHA

Аудио CAPTCHA служит альтернативой текстовой CAPTCHA и подходит для пользователей с нарушениями зрения. Audio CAPTCHA представляет собой аудиозапись последовательности букв или цифр, которую пользователь должен ввести правильно. Опять же, есть искажения, на этот раз в виде добавленного фонового шума. Интересно отметить, что модуль Python CAPTCHA работает только с числами.

3. Изображение CAPTCHA

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

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

4. Математика, словесная задача и головоломка CAPTCHA

Математические CAPTCHA часто представляют собой простые арифметические задачи, такие как 17 + 23, 16 * 10 или 30 / 10, с добавлением графических элементов.

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

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

5. Нет CAPTCHA ReCAPTCHA

Google владеет ReCAPTCHA, которая использует расширенный анализ рисков и адаптивные задачи для предотвращения ботов. ReCAPTCHA извлекает контент из Google Street View, газет, книг и многого другого.

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

Вы можете создать Форма проверки CAPTCHA с использованием HTML, CSS и JS а также с помощью модуля Python CAPTCHA.

Модуль Python CAPTCHA

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

Чтобы установить модуль CAPTCHA в вашей среде Python, откройте окно терминала и введите:

точка установить капча

Как сгенерировать текстовое изображение CAPTCHA с помощью Python

Весь исходный код для создания настраиваемых текстовых изображений и аудио CAPTCHA доступен в этом Репозиторий GitHub.

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

  1. Импортировать ImageCaptcha модуль, расположенный в капча.изображение.
    # импорт необходимых библиотек
    от капча.изображение Импортировать ImageCaptcha
  2. Укажите пользовательскую ширину и высоту для вашей CAPTCHA и создайте ее экземпляр.
    # указать размеры
    изображение = ImageCaptcha (ширина = 300, высота = 100)
  3. Возьмите последовательность символов в качестве пользовательского ввода с помощью вход() Функция для преобразования его в текстовый формат CAPTCHA.
    # введите текст для создания капчи
    captcha_text = ввод("Пожалуйста, введите текст: ")
  4. Передайте текст, полученный от пользователя, в изображение.генерировать() для создания CAPTCHA.
    # сгенерировать текстовую капчу
    данные = image.generate (captcha_text)
  5. Передайте текст CAPTCHA и имя файла изображения вместе с его расширением в изображение.написать() для сохранения сгенерированного изображения CAPTCHA.
    # сохранить файл изображения капчи
    image.write (captcha_text, (captcha_text) + ".png")

Вывод текстового изображения CAPTCHA с использованием Python

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

Это еще один увлекательный дизайн, созданный с помощью той же программы.

Как сгенерировать аудио CAPTCHA с помощью Python

Выполните следующие шаги, чтобы создать аудио CAPTCHA с помощью Python:

  1. Импортировать АудиоКапча модуль из капча.аудио.
    # импорт необходимых библиотек
    от капча.аудио Импортировать АудиоКапча
  2. Создайте экземпляр AudioCaptcha().
    # создание экземпляра аудио
    аудио = AudioCaptcha()
  3. Принимать цифры в качестве пользовательского ввода с помощью вход() функция для создания своей звуковой CAPTCHA.
    # номер аудио капчи, например: 32135
    captcha_text = ввод("Пожалуйста, введите номер: ")
  4. Передайте текст, который вы получили от пользователя, в аудио.генерировать() для создания CAPTCHA.
    # сгенерировать звуковую капчу
    audio_data = audio.generate (captcha_text)
  5. Передайте текст CAPTCHA и имя аудиофайла вместе с его расширением в аудио.записать() для сохранения сгенерированного аудио CAPTCHA.
    # сохранить аудиофайл
    audio.write (captcha_text, "аудио"+captcha_text+'.wav')

Если ввести цифры 970322, эта аудиопрограмма CAPTCHA создаст аудио970322.wav файл, который последовательно произносит цифры с кучей фонового шума.

Множество применений CAPTCHA

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

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