Uvedene početkom 2000-ih, CAPTCHA već desetljećima nerviraju korisnike. Od pronalaženja slika autobusa do unosa čudnog niza slova ili rješavanja matematičkih problema, postoji mnogo načina na koje web-mjesta od vas traže da dokažete da niste robot.

Ali jeste li se ikada zapitali kako funkcionira CAPTCHA i zašto vas web stranice tjeraju da ih rješavate?

Što je CAPTCHA?

CAPTCHA je kratica za potpuno automatizirani javni Turingov test za razlikovanje računala i ljudi. Kao što naziv sugerira, razlikuje ljude od računala.

Osnovni koncept CAPTCHA-e oslanja se na nedostatak računalne inteligencije za prepoznavanje uzoraka. Računalo može prepoznati slova, ali ne u slučajevima kada su izmijenjena ili prisutna s puno pozadinske buke. U međuvremenu, ljudi su generacijama osposobljeni da uočavaju i identificiraju obrasce kao sigurnosni mehanizam.

Vrste CAPTCHA

CAPTCHA postoji u različitim vrstama, a neke od njih su:

1. CAPTCHA temeljena na tekstualnoj slici

Tekstualni CAPTCHA koristi skup riječi ili fraza ili nasumične kombinacije različitih slova, brojeva i simbola. Predstavlja slijed znakova u otuđenom obliku koji je pomalo teško protumačiti.

instagram viewer

To uključuje izobličenje, rotaciju, okretanje, klimavost, stil velikih slova i preklapanje sa susjednim znakovima. Kako bi se poboljšala ova tehnika, CAPTCHA može uključivati ​​grafike kao što su linije, lukovi ili točke na slučajan način, raspoređene po cijeloj slici.

2. Audio CAPTCHA

Audio CAPTCHA služi kao alternativa tekstualnim CAPTCHA-ama i namijenjena je korisnicima oštećena vida. Audio CAPTCHA predstavlja zvučni zapis niza slova ili brojeva koje korisnik mora ispravno unijeti. Opet dolazi do izobličenja, ovaj put u obliku dodatne pozadinske buke. Zanimljivo je napomenuti da Python CAPTCHA modul radi samo s brojevima.

3. Slika CAPTCHA

CAPTCHA za slike alternativa je tekstualnim CAPTCHA za slike. Ovo su tipični CAPTCHA-i s kojima ćete se svakodnevno baviti.

Ove CAPTCHA traže od vas da identificirate određeni objekt kao što je čamac, kamion ili hidrant. Predstavljaju ih uz druge slike koje možete odabrati. Oni su mnogo prikladniji za ljude od tekstualnih testova, a botovi ih teže prepoznaju.

4. CAPTCHA matematike, problema s riječima i slagalica

Matematičke CAPTCHA često predstavljaju jednostavan aritmetički problem kao što je 17 + 23, 16 * 10 ili 30 / 10 s dodanim grafičkim elementima.

Problem s riječima CAPTCHA predstavlja niz riječi ili povezanih stavki i traži od vas da ispunite praznine odgovarajućim odgovorom.

Puzzle CAPTCHA uključuje rješavanje mini slagalice kao što je pomicanje šipke na ispravnu duljinu tako da dio koji nedostaje dovrši sliku.

5. Nema CAPTCHA ReCAPTCHA

Google posjeduje ReCAPTCHA koja koristi naprednu analizu rizika i prilagodljive izazove za sprječavanje robota. ReCAPTCHA dohvaća sadržaj s Google Street Viewa, novina, knjiga itd.

Bez CAPTCHA-e. ReCAPTCHA zahtijeva od vas da provjerite opciju "Nisam robot" bez traženja da prođete bilo kakve testove. To je moguće jer prati pokrete i identificira klik. Jedna stvar koju treba napomenuti je da ReCAPTCHA bilježi vaše privatne podatke također.

Možete stvoriti a CAPTCHA obrazac za provjeru valjanosti koristeći HTML, CSS i JS kao i korištenje Python CAPTCHA modula.

Python CAPTCHA modul

Python dolazi s fantastičnim modulom koji se zove CAPTCHA koji vam pomaže da u trenu stvorite slikovne i audio CAPTCHA temeljene na tekstu. Iako modul pruža ugrađeni stil fonta i glas, možete upotrijebiti svoj glas i podatke o fontu da dodatno prilagodite CAPTCHA.

Da biste instalirali CAPTCHA modul u svoje Python okruženje, otvorite prozor terminala i upišite:

pip instalirati captcha

Kako generirati CAPTCHA sliku temeljenu na tekstu pomoću Pythona

Cjelokupni izvorni kod za generiranje prilagođene tekstualne CAPTCHA slike i zvuka dostupan je ovdje GitHub spremište.

Možete slijediti ove korake za izradu tekstualne CAPTCHA slike pomoću Pythona:

  1. Uvezi ImageCaptcha modul koji se nalazi u captcha.slika.
    # uvoz potrebnih biblioteka
    iz captcha.slika uvoz ImageCaptcha
  2. Odredite prilagođenu širinu i visinu za svoj CAPTCHA i izradite njegovu instancu.
    # odredite dimenzije
    slika = ImageCaptcha (širina = 300, visina = 100)
  3. Uzmite niz znakova kao korisnički unos pomoću ulazni() funkciju za pretvaranje u tekstualni CAPTCHA format.
    # unesite tekst za izradu captcha
    captcha_tekst = unos("Molimo unesite tekst: ")
  4. Proslijedite tekst koji ste dobili od korisnika image.generate() za izradu CAPTCHA.
    # generirajte tekstualni captcha
    podaci = slika.generiraj (captcha_tekst)
  5. Proslijedite tekst CAPTCHA i naziv slikovne datoteke zajedno s ekstenzijom image.write() za spremanje CAPTCHA generirane slike.
    # spremite captcha slikovnu datoteku
    image.write (captcha_text, (captcha_text) + ".png")

Ispis tekstualne CAPTCHA slike pomoću Pythona

Jedna od najboljih značajki ovog modula je da generira isti tekst u različitim bojama, stilovima i nagibima. Ovo su neki od generiranih primjera.

Ovo je još jedan fascinantan dizajn generiran putem istog programa.

Kako generirati audio CAPTCHA koristeći Python

Slijedite ove korake za izradu audio CAPTCHA pomoću Pythona:

  1. Uvezi AudioCaptcha modul od captcha.audio.
    # uvoz potrebnih biblioteka
    iz captcha.audio uvoz AudioCaptcha
  2. Stvorite instancu AudioCaptcha().
    # stvaranje audio instance
    audio = AudioCaptcha()
  3. Uzmite znamenke kao korisnički unos koristeći ulazni() funkciju za stvaranje audio CAPTCHA.
    # audio captcha broj, npr.: 32135
    captcha_tekst = unos("Molimo unesite broj: ")
  4. Proslijedite tekst koji ste dobili od korisnika audio.generate() za izradu CAPTCHA.
    # generirajte captcha temeljen na zvuku
    audio_data = audio.generate (captcha_text)
  5. Proslijedite tekst CAPTCHA i naziv audio datoteke zajedno s ekstenzijom audio.write() da biste spremili generirani audio CAPTCHA.
    # spremite audio datoteku
    audio.write (captcha_text, "audio"+captcha_tekst+'.wav')

Ako unesete brojeve 970322, ovaj audio CAPTCHA program će generirati audio970322.wav datoteku koja izgovara znamenke u nizu uz hrpu pozadinske buke.

Brojne upotrebe CAPTCHA

Primarna funkcija CAPTCHA je spriječiti neželjenu poštu i zloupotrebu od strane botova na web stranici. Pomažu u održavanju točnosti online anketa sprječavajući robote da ih zasipaju negativnim odgovorima. Djeluju kao sloj zaštite od napada brutalnom silom i ograničavaju broj pokušaja prijave korisnika na web mjesto.

CAPTCHA također može pomoći u sprječavanju automatiziranih komentara i može pomoći u osiguravanju pristupnika plaćanja s poteškoćama u rješavanju.