CAPTCHA'er blev introduceret i begyndelsen af 2000'erne og har irriteret brugere i årtier nu. Fra at finde billeder af en bus til at indtaste en mærkelig sekvens af bogstaver eller løse matematiske problemer, der er mange måder, hvorpå websteder beder dig om at bevise, at du ikke er en robot.
Men har du nogensinde undret dig over, hvordan CAPTCHA fungerer, og hvorfor hjemmesider tvinger dig til at løse dem?
Hvad er CAPTCHA?
CAPTCHA står for Completely Automated Public Turing test for at fortælle computere og mennesker fra hinanden. Som navnet antyder, skelner den mellem mennesker og computere.
Det grundlæggende koncept for CAPTCHA er afhængig af manglen på computerintelligens til at genkende mønstre. En computer kan genkende bogstaver, men ikke i tilfælde, hvor de er ændret eller til stede med meget baggrundsstøj. Mennesker er i mellemtiden fastkablet i generationer til at opdage og identificere mønstre som en sikkerhedsmekanisme.
Typer af CAPTCHA
CAPTCHA kommer i forskellige typer, et par af dem er:
1. Tekstbaseret billed-CAPTCHA
Tekstbaseret CAPTCHA bruger et sæt ord eller sætninger eller en tilfældig kombination af forskellige bogstaver, tal og symboler. Det repræsenterer en sekvens af karakterer i en fremmedgjort form, der er lidt svær at fortolke.
Disse omfatter forvrængning, rotation, flipping, vaklen, stil med store bogstaver og overlapning med tilstødende tegn. For at forbedre denne teknik kan en CAPTCHA inkludere grafik som linjer, buer eller prikker på en tilfældig måde spredt ud over billedet.
2. Audio CAPTCHA
Audio CAPTCHA fungerer som et alternativ til tekstbaserede CAPTCHA'er og henvender sig til synshandicappede brugere. Audio CAPTCHA præsenterer en lydoptagelse af en sekvens af bogstaver eller tal, som brugeren skal indtaste korrekt. Igen er der forvrængning, denne gang i form af tilføjet baggrundsstøj. En interessant ting at bemærke er, at Python CAPTCHA-modulet kun fungerer med tal.
3. Billede CAPTCHA
Billed-CAPTCHA'er er et alternativ til tekstbaserede billed-CAPTCHA'er. Dette er de typiske CAPTCHA'er, du vil tackle dagligt.
Disse CAPTCHA'er beder dig om at identificere et bestemt objekt såsom en båd, lastbil eller brandhane. De præsenterer disse sammen med andre billeder at vælge imellem. Disse er meget mere menneskevenlige end tekstbaserede tests samt sværere for bots at genkende.
4. Math, Word Problem, og Puslespil CAPTCHA
Math CAPTCHA'er repræsenterer ofte et simpelt regneproblem, såsom 17 + 23, 16 * 10 eller 30/10 med tilføjede grafiske elementer.
Ordproblem CAPTCHA præsenterer en sekvens af ord eller relaterede emner og beder dig om at udfylde de tomme felter med det passende svar.
Puslespil CAPTCHA involverer at løse et mini-puslespil, såsom at skubbe en stang til den korrekte længde, så den manglende brik fuldender billedet.
5. Ingen CAPTCHA ReCAPTCHA
Google ejer ReCAPTCHA, som bruger avanceret risikoanalyse og adaptive udfordringer til at forhindre bots. ReCAPTCHA henter indhold fra Google Street View, aviser, bøger og mere.
Ingen CAPTCHA ReCAPTCHA kræver, at du markerer indstillingen "Jeg er ikke en robot" uden at bede dig om at gennemgå nogen test. Dette er muligt, da det sporer bevægelserne og identificerer klikket. En ting at bemærke er det ReCAPTCHA fanger dine private oplysninger såvel.
Du kan oprette en CAPTCHA-valideringsformular ved hjælp af HTML, CSS og JS samt at bruge Python CAPTCHA-modulet.
Python CAPTCHA-modulet
Python kommer med et fantastisk modul kaldet CAPTCHA, der hjælper dig med at skabe tekstbaserede billed- og lyd-CAPTCHA'er på et øjeblik. Selvom modulet giver en indbygget skrifttypestil og stemme, kan du bruge din stemme og skrifttypedata til at tilpasse CAPTCHA'er endnu mere.
For at installere CAPTCHA-modulet i dit Python-miljø skal du åbne terminalvinduet og skrive:
pip installere captcha
Sådan genereres en tekstbaseret billed-CAPTCHA ved hjælp af Python
Hele kildekoden til generering af tilpasset tekstbaseret billed- og lyd-CAPTCHA er tilgængelig i denne GitHub-depot.
Du kan følge disse trin for at oprette en tekstbaseret billed-CAPTCHA ved hjælp af Python:
- Importer ImageCaptcha modul placeret i captcha.image.
# importerer de nødvendige biblioteker
fra captcha.image importere ImageCaptcha - Angiv en tilpasset bredde og højde for din CAPTCHA, og opret en forekomst af den.
# angiv dimensioner
image = ImageCaptcha (bredde = 300, højde = 100) - Tag en sekvens af tegn som brugerinput ved hjælp af input() funktion til at konvertere den til et tekstbaseret CAPTCHA-format.
# indtast teksten for at oprette dens captcha
captcha_text = input("Indtast venligst tekst: ") - Send den tekst, du har fået fra brugeren, til image.generate() for at oprette CAPTCHA.
# generer den tekstbaserede captcha
data = image.generate (captcha_text) - Send teksten til CAPTCHA og billedfilnavnet sammen med dets udvidelse til image.write() for at gemme det genererede billede CAPTCHA.
# gem captcha-billedfilen
image.write (captcha_text, (captcha_text) + ".png")
Output af tekstbaseret billed-CAPTCHA ved hjælp af Python
En af de bedste funktioner ved dette modul er, at det genererer den samme tekst i forskellige farver, stilarter og skævheder. Dette er et par af de genererede eksempler.
Dette er endnu et fascinerende design genereret via det samme program.
Sådan genereres en lyd-CAPTCHA ved hjælp af Python
Følg disse trin for at oprette en lyd-CAPTCHA ved hjælp af Python:
- Importer AudioCaptcha modul fra captcha.audio.
# importerer de nødvendige biblioteker
fra captcha.audio importere AudioCaptcha - Opret en instans af AudioCaptcha().
# oprettelse af en lydforekomst
audio = AudioCaptcha() - Tag cifre som brugerinput ved hjælp af input() funktion til at oprette sin audio CAPTCHA.
# audio captcha-nummer, f.eks.: 32135
captcha_text = input("Indtast venligst nummer: ") - Send den tekst, du har fået fra brugeren, til audio.generate() for at oprette CAPTCHA.
# generer den lydbaserede captcha
audio_data = audio.generate (captcha_text) - Send teksten til CAPTCHA og lydfilnavnet sammen med dens udvidelse til audio.write() for at gemme den genererede lyd-CAPTCHA.
# gem lydfilen
audio.write (captcha_text, "lyd"+captcha_text+'.wav')
Hvis du indtaster tallene 970322, vil dette lyd-CAPTCHA-program generere en audio970322.wav fil, der taler cifrene i rækkefølge med en masse baggrundsstøj.
De mange anvendelser af CAPTCHA
En CAPTCHAs primære funktion er at forhindre spam og misbrug fra bots på et websted. De hjælper med at opretholde nøjagtigheden af online afstemninger ved at forhindre bots i at oversvømme dem med negative svar. De fungerer som et lag af beskyttelse mod brute force-angreb og begrænser antallet af gange, en bruger forsøger at logge ind på et websted.
CAPTCHA kan også hjælpe med at forhindre automatiserede kommentarer og kan hjælpe med at sikre betalingsgateways med deres vanskeligheder at løse.