CAPTCHA, uveden v zgodnjih 2000-ih, jezi uporabnike že desetletja. Od iskanja slik avtobusa do vnosa nenavadnega zaporedja črk ali reševanja matematičnih nalog, obstaja veliko načinov, na katere vas spletna mesta prosijo, da dokažete, da niste robot.

Toda ali ste se kdaj vprašali, kako deluje CAPTCHA in zakaj vas spletna mesta silijo, da jih rešite?

Kaj je CAPTCHA?

CAPTCHA pomeni popolnoma avtomatiziran javni Turingov test za razlikovanje med računalniki in ljudmi. Kot že ime pove, razlikuje med ljudmi in računalniki.

Osnovni koncept CAPTCHA temelji na pomanjkanju računalniške inteligence za prepoznavanje vzorcev. Računalnik lahko prepozna črke, vendar ne v primerih, ko so spremenjene ali prisotne z veliko šuma v ozadju. Ljudje smo medtem že generacije navezani na to, da opazimo in identificiramo vzorce kot varnostni mehanizem.

Vrste CAPTCHA

CAPTCHA je na voljo v različnih vrstah, nekaj izmed njih je:

1. Besedilni slikovni CAPTCHA

Besedilni CAPTCHA uporablja nabor besed ali besednih zvez ali naključno kombinacijo različnih črk, številk in simbolov. Predstavlja zaporedje znakov v odtujeni obliki, ki jo je nekoliko težko interpretirati.

instagram viewer

Ti vključujejo popačenje, vrtenje, obračanje, nihanje, slog velikih začetnic in prekrivanje s sosednjimi znaki. Za izboljšanje te tehnike lahko CAPTCHA vključuje grafike, kot so črte, loki ali pike, naključno razporejene po celotni sliki.

2. Avdio CAPTCHA

Avdio CAPTCHA služi kot alternativa besedilnim CAPTCHA in je namenjen uporabnikom z okvarami vida. Audio CAPTCHA predstavlja zvočni posnetek zaporedja črk ali številk, ki jih mora uporabnik pravilno vnesti. Ponovno je prisotno popačenje, tokrat v obliki dodanega hrupa v ozadju. Zanimivo je, da modul Python CAPTCHA deluje samo s številkami.

3. Slika CAPTCHA

Slikovni CAPTCHA so alternativa tekstovnim slikovnim CAPTCHA. To so tipični CAPTCHA, ki se jih boste lotevali vsak dan.

Te CAPTCHA vas prosijo, da identificirate določen predmet, kot je čoln, tovornjak ali požarni hidrant. Te predstavijo skupaj z drugimi slikami, med katerimi lahko izbirate. Ti so ljudem veliko bolj prijazni kot testi, ki temeljijo na besedilu, pa tudi težje jih boti prepoznajo.

4. CAPTCHA za matematiko, besedne težave in uganke

Matematični CAPTCHA pogosto predstavljajo preprosto aritmetično težavo, kot je 17 + 23, 16 * 10 ali 30 / 10 z dodanimi grafičnimi elementi.

Besedna težava CAPTCHA predstavlja zaporedje besed ali povezanih elementov in vas prosi, da izpolnite prazna mesta z ustreznim odgovorom.

Puzzle CAPTCHA vključuje reševanje mini sestavljanke, kot je drsenje palice na pravilno dolžino, tako da manjkajoči delček dopolni sliko.

5. Brez CAPTCHA ReCAPTCHA

Google ima v lasti ReCAPTCHA, ki uporablja napredno analizo tveganja in prilagodljive izzive za preprečevanje botov. ReCAPTCHA pridobi vsebino iz Google Street View, časopisov, knjig in drugega.

Nobena CAPTCHA ReCAPTCHA od vas zahteva, da označite možnost »Nisem robot«, ne da bi morali opraviti kakršne koli teste. To je mogoče, saj sledi premikom in prepozna klik. Upoštevati je treba eno stvar ReCAPTCHA zajame vaše zasebne podatke prav tako.

Ustvarite lahko a Obrazec za preverjanje CAPTCHA z uporabo HTML, CSS in JS kot tudi z uporabo modula Python CAPTCHA.

Modul Python CAPTCHA

Python je opremljen s fantastičnim modulom, imenovanim CAPTCHA, ki vam pomaga ustvariti besedilne slikovne in zvočne CAPTCHA v trenutku. Čeprav modul ponuja vgrajen slog pisave in glas, lahko uporabite svoj glas in podatke o pisavi, da še dodatno prilagodite CAPTCHA.

Če želite namestiti modul CAPTCHA v svoje okolje Python, odprite okno terminala in vnesite:

pip namestite captcha

Kako ustvariti besedilno sliko CAPTCHA z uporabo Pythona

Celotna izvorna koda za generiranje prilagojene besedilne slike in zvoka CAPTCHA je na voljo tukaj Repozitorij GitHub.

Sledite tem korakom, da ustvarite besedilno slikovno CAPTCHA z uporabo Pythona:

  1. Uvozite ImageCaptcha modul, ki se nahaja v captcha.image.
    # uvoz zahtevanih knjižnic
    od captcha.image uvoz ImageCaptcha
  2. Določite širino in višino po meri za svoj CAPTCHA in ustvarite njegov primerek.
    # določite dimenzije
    slika = ImageCaptcha (širina = 300, višina = 100)
  3. Vzemite zaporedje znakov kot uporabniški vnos z uporabo vnos() funkcijo za pretvorbo v besedilno obliko CAPTCHA.
    # vnesite besedilo, da ustvarite svoj captcha
    captcha_text = vnos("Vnesite besedilo: ")
  4. Posredujte besedilo, ki ste ga prejeli od uporabnika image.generate() za ustvarjanje CAPTCHA.
    # ustvarite besedilni captcha
    podatki = image.generate (captcha_text)
  5. Posredujte besedilo CAPTCHA in ime slikovne datoteke skupaj z njeno pripono image.write() da shranite ustvarjeno sliko CAPTCHA.
    # shranite slikovno datoteko captcha
    image.write (captcha_text, (captcha_text) + ".png")

Izhod besedilne slike CAPTCHA z uporabo Pythona

Ena najboljših lastnosti tega modula je, da ustvari isto besedilo v različnih barvah, slogih in poševnosti. To je nekaj ustvarjenih primerov.

To je še en zanimiv dizajn, ustvarjen z istim programom.

Kako ustvariti zvočno CAPTCHA z uporabo Pythona

Za ustvarjanje zvočne CAPTCHA s Pythonom sledite tem korakom:

  1. Uvozite AudioCaptcha modul iz captcha.audio.
    # uvoz zahtevanih knjižnic
    od captcha.audio uvoz AudioCaptcha
  2. Ustvarite primerek AudioCaptcha().
    # ustvarjanje zvočnega primerka
    zvok = AudioCaptcha()
  3. Vzemite števke kot uporabniški vnos z uporabo vnos() funkcijo za ustvarjanje zvočne oznake CAPTCHA.
    # zvočna številka captcha, npr.: 32135
    captcha_text = vnos("Vnesite številko: ")
  4. Posredujte besedilo, ki ste ga prejeli od uporabnika audio.generate() za ustvarjanje CAPTCHA.
    # ustvarite zvočni captcha
    audio_data = audio.generate (captcha_text)
  5. Posredujte besedilo CAPTCHA in ime zvočne datoteke skupaj z njeno pripono audio.write() da shranite ustvarjeni zvok CAPTCHA.
    # shranite zvočno datoteko
    audio.write (captcha_text, "zvok"+captcha_text+'.wav')

Če vnesete številke 970322, bo ta zvočni program CAPTCHA ustvaril audio970322.wav datoteka, ki izgovarja števke v zaporedju s kopico hrupa v ozadju.

Številne uporabe CAPTCHA

Primarna funkcija CAPTCHA je preprečiti neželeno pošto in zlorabo botov na spletnem mestu. Pomagajo ohranjati točnost spletnih anket tako, da robotom preprečujejo, da bi jih zasuli z negativnimi odgovori. Delujejo kot plast zaščite pred napadi s surovo silo in omejujejo, kolikokrat se uporabnik poskuša prijaviti na spletno mesto.

CAPTCHA lahko tudi pomaga preprečiti samodejne komentarje in lahko pomaga zaščititi plačilne prehode, ki jih je težko rešiti.