Въведени в началото на 2000-те години, CAPTCHA дразнят потребителите от десетилетия. От намирането на изображения на автобус до въвеждането на странна последователност от букви или решаването на математически задачи, има много начини, по които сайтовете ви молят да докажете, че не сте робот.

Но чудили ли сте се някога как работи CAPTCHA и защо уебсайтовете ви принуждават да ги решавате?

Какво е CAPTCHA?

CAPTCHA означава напълно автоматизиран публичен тест на Тюринг за разграничаване на компютрите и хората. Както подсказва името, той прави разлика между хора и компютри.

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

Видове CAPTCHA

CAPTCHA се предлага в различни видове, някои от тях са:

1. CAPTCHA на текстово базирано изображение

instagram viewer

Базираният на текст CAPTCHA използва набор от думи или фрази или произволна комбинация от различни букви, цифри и символи. Представлява поредица от знаци в отчуждена форма, която е малко трудна за тълкуване.

Те включват изкривяване, завъртане, обръщане, колебливост, стил на изписване с главни букви и припокриване със съседни знаци. За да подобри тази техника, CAPTCHA може да включва графики като линии, дъги или точки по произволен начин, разпределени в цялото изображение.

2. Аудио CAPTCHA

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

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

CAPTCHA за изображения са алтернатива на CAPTCHA за текстови изображения. Това са типичните CAPTCHA, с които ще се справяте ежедневно.

Тези CAPTCHA ви молят да идентифицирате конкретен обект като лодка, камион или пожарен хидрант. Те ги представят заедно с други изображения, от които да избирате. Те са много по-удобни за хората от текстовите тестове, както и по-трудни за разпознаване от ботовете.

4. CAPTCHA по математика, текстови задачи и пъзели

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

Проблем с думите CAPTCHA представя поредица от думи или свързани елементи и ви моли да попълните празните полета с подходящия отговор.

Puzzle CAPTCHA включва решаване на мини пъзел като плъзгане на лента до правилната дължина, така че липсващата част да завърши изображението.

5. Без CAPTCHA ReCAPTCHA

Google притежава ReCAPTCHA, която използва усъвършенстван анализ на риска и адаптивни предизвикателства за предотвратяване на ботове. ReCAPTCHA извлича съдържание от Google Street View, вестници, книги и др.

Без CAPTCHA ReCAPTCHA изисква от вас да поставите отметка в опцията „Аз не съм робот“, без да ви моли да преминете през каквито и да е тестове. Това е възможно, тъй като проследява движенията и идентифицира щракването. Едно нещо, което трябва да се отбележи е, че ReCAPTCHA улавя вашата лична информация както добре.

Можете да създадете a Форма за валидиране на CAPTCHA с помощта на HTML, CSS и JS както и с помощта на Python CAPTCHA модула.

Модулът CAPTCHA на Python

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

За да инсталирате модула CAPTCHA във вашата Python среда, отворете прозореца на терминала и въведете:

пип Инсталирай captcha

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

Целият изходен код за генериране на персонализирани текстови изображения и аудио CAPTCHA е достъпен тук GitHub хранилище.

Можете да следвате тези стъпки, за да създадете CAPTCHA базирано на текст изображение с помощта на Python:

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

Извеждане на текстово базирано CAPTCHA изображение с помощта на Python

Една от най-добрите характеристики на този модул е, че той генерира един и същ текст в различни цветове, стилове и изкривяване. Това са няколко от генерираните примери.

Това е още един завладяващ дизайн, генериран чрез същата програма.

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

Следвайте тези стъпки, за да създадете аудио CAPTCHA с помощта на Python:

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

Ако въведете числата 970322, тази програма за аудио CAPTCHA ще генерира audio970322.wav файл, който изговаря последователно цифрите с куп фонов шум.

Многото употреби на CAPTCHA

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

CAPTCHA може също да помогне за предотвратяване на автоматизирани коментари и може да помогне за осигуряване на шлюзове за плащане с тяхната трудност за разрешаване.