Представленные в начале 2000-х, CAPTCHA раздражают пользователей уже несколько десятилетий. От поиска изображений автобуса до ввода странной последовательности букв или решения математических задач — существует множество способов, которыми сайты просят вас доказать, что вы не робот.
Но задумывались ли вы когда-нибудь, как работают CAPTCHA и почему веб-сайты заставляют вас их решать?
Что такое капча?
CAPTCHA расшифровывается как полностью автоматизированный общедоступный тест Тьюринга, чтобы различать компьютеры и людей. Как следует из названия, он различает людей и компьютеры.
Основная концепция CAPTCHA основана на отсутствии компьютерного интеллекта для распознавания шаблонов. Компьютер может распознавать буквы, но не в тех случаях, когда они изменены или присутствуют с большим фоновым шумом. Между тем люди запрограммированы поколениями на обнаружение и идентификацию закономерностей в качестве механизма безопасности.
Типы CAPTCHA
CAPTCHA бывает разных типов, вот некоторые из них:
1. Текстовая картинка CAPTCHA
В текстовой 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:
- Импортировать ImageCaptcha модуль, расположенный в капча.изображение.
# импорт необходимых библиотек
от капча.изображение Импортировать ImageCaptcha - Укажите пользовательскую ширину и высоту для вашей CAPTCHA и создайте ее экземпляр.
# указать размеры
изображение = ImageCaptcha (ширина = 300, высота = 100) - Возьмите последовательность символов в качестве пользовательского ввода с помощью вход() Функция для преобразования его в текстовый формат CAPTCHA.
# введите текст для создания капчи
captcha_text = ввод("Пожалуйста, введите текст: ") - Передайте текст, полученный от пользователя, в изображение.генерировать() для создания CAPTCHA.
# сгенерировать текстовую капчу
данные = image.generate (captcha_text) - Передайте текст CAPTCHA и имя файла изображения вместе с его расширением в изображение.написать() для сохранения сгенерированного изображения CAPTCHA.
# сохранить файл изображения капчи
image.write (captcha_text, (captcha_text) + ".png")
Вывод текстового изображения CAPTCHA с использованием Python
Одной из лучших особенностей этого модуля является то, что он генерирует один и тот же текст с разными цветами, стилями и асимметрией. Это несколько сгенерированных примеров.
Это еще один увлекательный дизайн, созданный с помощью той же программы.
Как сгенерировать аудио CAPTCHA с помощью Python
Выполните следующие шаги, чтобы создать аудио CAPTCHA с помощью Python:
- Импортировать АудиоКапча модуль из капча.аудио.
# импорт необходимых библиотек
от капча.аудио Импортировать АудиоКапча - Создайте экземпляр AudioCaptcha().
# создание экземпляра аудио
аудио = AudioCaptcha() - Принимать цифры в качестве пользовательского ввода с помощью вход() функция для создания своей звуковой CAPTCHA.
# номер аудио капчи, например: 32135
captcha_text = ввод("Пожалуйста, введите номер: ") - Передайте текст, который вы получили от пользователя, в аудио.генерировать() для создания CAPTCHA.
# сгенерировать звуковую капчу
audio_data = audio.generate (captcha_text) - Передайте текст CAPTCHA и имя аудиофайла вместе с его расширением в аудио.записать() для сохранения сгенерированного аудио CAPTCHA.
# сохранить аудиофайл
audio.write (captcha_text, "аудио"+captcha_text+'.wav')
Если ввести цифры 970322, эта аудиопрограмма CAPTCHA создаст аудио970322.wav файл, который последовательно произносит цифры с кучей фонового шума.
Множество применений CAPTCHA
Основной функцией CAPTCHA является предотвращение спама и злоупотреблений со стороны ботов на веб-сайте. Они помогают поддерживать точность онлайн-опросов, не позволяя ботам заливать их негативными ответами. Они действуют как уровень защиты от атак грубой силы и ограничивают количество попыток входа пользователя на веб-сайт.
CAPTCHA также может помочь предотвратить автоматические комментарии и может помочь защитить платежные шлюзы, которые трудно решить.