CAPTCHA, které byly představeny na počátku 21. století, obtěžují uživatele již desítky let. Od hledání obrázků autobusu po zadávání podivných posloupností písmen nebo řešení matematických problémů, existuje mnoho způsobů, jak vás weby žádají, abyste prokázali, že nejste robot.
Napadlo vás ale někdy, jak CAPTCHA funguje a proč vás webové stránky nutí je řešit?
Co je CAPTCHA?
CAPTCHA je zkratka pro Kompletně automatizovaný veřejný Turingův test, který odlišuje počítače a lidi. Jak název napovídá, rozlišuje mezi lidmi a počítači.
Základní koncept CAPTCHA spoléhá na nedostatek počítačové inteligence k rozpoznání vzorů. Počítač dokáže rozpoznat písmena, ale ne v případech, kdy jsou pozměněna nebo jsou přítomna s velkým šumem na pozadí. Lidé jsou mezitím po generace pevně zapojeni do toho, aby odhalovali a identifikovali vzorce jako bezpečnostní mechanismus.
Typy CAPTCHA
CAPTCHA je k dispozici v různých typech, některé z nich jsou:
1. Textový obrázek CAPTCHA
Textová CAPTCHA používá sadu slov nebo frází nebo náhodnou kombinaci různých písmen, čísel a symbolů. Představuje posloupnost postav v odcizené formě, která je trochu obtížně interpretovatelná.
Patří mezi ně zkreslení, rotace, převrácení, viklání, styl psaní velkých písmen a překrývání se sousedními znaky. Pro vylepšení této techniky může CAPTCHA obsahovat grafiku, jako jsou čáry, oblouky nebo tečky, náhodně rozložené po celém obrázku.
2. Audio CAPTCHA
Audio CAPTCHA slouží jako alternativa k textovým CAPTCHA a slouží zrakově postiženým uživatelům. Audio CAPTCHA představuje zvukový záznam sekvence písmen nebo číslic, které musí uživatel správně zadat. Opět dochází ke zkreslení, tentokrát v podobě přidaného šumu na pozadí. Zajímavostí je, že modul Python CAPTCHA pracuje pouze s čísly.
3. Obrázek CAPTCHA
Obrázkové CAPTCHA jsou alternativou k textovým obrázkům CAPTCHA. Toto jsou typické CAPTCHA, které budete denně řešit.
Tyto CAPTCHA vás požadují, abyste identifikovali konkrétní objekt, jako je loď, nákladní automobil nebo požární hydrant. Prezentují je spolu s dalšími obrázky, ze kterých si můžete vybrat. Tyto testy jsou pro člověka mnohem přívětivější než testy založené na textu a pro roboty je také obtížněji rozpoznávají.
4. CAPTCHA z matematiky, slovních úloh a hlavolamů
Matematické CAPTCHA často představují jednoduchý aritmetický problém, jako je 17 + 23, 16 * 10 nebo 30/10 s přidanými grafickými prvky.
Slovní problém CAPTCHA představuje posloupnost slov nebo souvisejících položek a žádá vás, abyste doplnili prázdná místa příslušnou odpovědí.
Puzzle CAPTCHA zahrnuje řešení mini skládačky, jako je posunutí tyče na správnou délku tak, aby chybějící dílek doplnil obrázek.
5. Žádná CAPTCHA ReCAPTCHA
Google vlastní ReCAPTCHA, která používá pokročilou analýzu rizik a adaptivní výzvy k prevenci robotů. ReCAPTCHA načítá obsah z Google Street View, novin, knih a dalších.
Žádná CAPTCHA ReCAPTCHA nevyžaduje, abyste zaškrtli možnost „Nejsem robot“, aniž byste museli projít testy. To je možné, protože sleduje pohyby a identifikuje kliknutí. Jedna věc, kterou je třeba poznamenat, je to ReCAPTCHA zachycuje vaše soukromé informace také.
Můžete vytvořit a Ověřovací formulář CAPTCHA pomocí HTML, CSS a JS stejně jako pomocí modulu Python CAPTCHA.
Modul Python CAPTCHA
Python přichází s fantastickým modulem zvaným CAPTCHA, který vám pomůže vytvořit textové obrazové a zvukové CAPTCHA během okamžiku. Ačkoli modul poskytuje vestavěný styl písma a hlas, můžete použít svůj hlas a data písem k ještě většímu přizpůsobení obrázků CAPTCHA.
Chcete-li nainstalovat modul CAPTCHA do prostředí Pythonu, otevřete okno Terminál a zadejte:
pip Nainstalujte captcha
Jak vygenerovat textový obrázek CAPTCHA pomocí Pythonu
Celý zdrojový kód pro generování přizpůsobených textových obrázků a zvukových CAPTCHA je k dispozici v tomto úložiště GitHub.
Chcete-li vytvořit textový obrázek CAPTCHA pomocí Pythonu, postupujte takto:
- Importujte ImageCaptcha modul umístěný v captcha.image.
# import požadovaných knihoven
z captcha.image import ImageCaptcha - Zadejte vlastní šířku a výšku pro váš CAPTCHA a vytvořte jeho instanci.
# zadejte rozměry
obrázek = ImageCaptcha (šířka = 300, výška = 100) - Vezměte sekvenci znaků jako uživatelský vstup pomocí vstup() funkci převést do textového formátu CAPTCHA.
# zadejte text pro vytvoření jeho captcha
captcha_text = input("Zadejte text: ") - Předejte text, který jste dostali od uživatele, do image.generate() k vytvoření CAPTCHA.
# vygenerujte textový captcha
data = image.generate (captcha_text) - Předejte text CAPTCHA a název souboru obrázku spolu s jeho příponou image.write() pro uložení vygenerovaného obrázku CAPTCHA.
# uložte soubor obrázku captcha
image.write (captcha_text, (captcha_text) + ".png")
Výstup textového obrázku CAPTCHA pomocí Pythonu
Jednou z nejlepších vlastností tohoto modulu je, že generuje stejný text v různých barvách, stylech a šikmosti. Toto je několik vytvořených příkladů.
Toto je další fascinující design vytvořený stejným programem.
Jak vygenerovat audio CAPTCHA pomocí Pythonu
Chcete-li vytvořit audio CAPTCHA pomocí Pythonu, postupujte takto:
- Importujte AudioCaptcha modul od captcha.audio.
# import požadovaných knihoven
z captcha.audio import AudioCaptcha - Vytvořte instanci AudioCaptcha().
# vytvoření zvukové instance
audio = AudioCaptcha() - Vezměte číslice jako uživatelský vstup pomocí vstup() k vytvoření zvukového obrázku CAPTCHA.
# číslo audio captcha, např.: 32135
captcha_text = input("Zadejte prosím číslo: ") - Předejte text, který jste dostali od uživatele audio.generate() k vytvoření CAPTCHA.
# vygenerujte captcha založenou na zvuku
audio_data = audio.generate (captcha_text) - Předejte text CAPTCHA a název zvukového souboru spolu s jeho příponou audio.write() pro uložení vygenerovaného zvukového CAPTCHA.
# uložte zvukový soubor
audio.write (captcha_text, "Zvuk"+captcha_text+'.wav')
Pokud zadáte čísla 970322, tento audio program CAPTCHA vygeneruje soubor audio970322.wav soubor, který vyslovuje číslice v sekvenci se spoustou šumu na pozadí.
Mnohostranné využití CAPTCHA
Primární funkcí CAPTCHA je zabránit spamu a zneužití ze strany robotů na webu. Pomáhají udržovat přesnost online průzkumů tím, že zabraňují botům, aby je zahltili negativními odpověďmi. Fungují jako vrstva ochrany proti útokům hrubou silou a omezují počet pokusů uživatele o přihlášení na web.
CAPTCHA může také pomoci zabránit automatickým komentářům a může pomoci zabezpečit platební brány s jejich obtížností při řešení.