CAPTCHA-er ble introdusert på begynnelsen av 2000-tallet, og har irritert brukere i flere tiår nå. Fra å finne bilder av en buss til å skrive inn en merkelig sekvens av bokstaver eller løse matematiske problemer, det er mange måter nettsteder ber deg om å bevise at du ikke er en robot.

Men har du noen gang lurt på hvordan CAPTCHA fungerer, og hvorfor nettsteder tvinger deg til å løse dem?

Hva er CAPTCHA?

CAPTCHA står for Completely Automated Public Turing test for å fortelle Computers and Humans Apart. Som navnet antyder, skiller den mellom mennesker og datamaskiner.

Det grunnleggende konseptet med CAPTCHA er avhengig av mangelen på datamaskinintelligens for å gjenkjenne mønstre. En datamaskin kan gjenkjenne bokstaver, men ikke i tilfeller der de er endret eller har mye bakgrunnsstøy. Mennesker er i mellomtiden hard-wired i generasjoner til å oppdage og identifisere mønstre som en sikkerhetsmekanisme.

Typer CAPTCHA

CAPTCHA kommer i forskjellige typer, noen av dem er:

1. Tekstbasert bilde-CAPTCHA

instagram viewer

Tekstbasert CAPTCHA bruker et sett med ord eller uttrykk eller en tilfeldig kombinasjon av forskjellige bokstaver, tall og symboler. Den representerer en sekvens av karakterer i en fremmedgjort form som er litt vanskelig å tolke.

Disse inkluderer forvrengning, rotasjon, flipping, vingling, stil med store bokstaver og overlapping med tilstøtende tegn. For å forbedre denne teknikken kan en CAPTCHA inkludere grafikk som linjer, buer eller prikker på en randomisert måte, spredt over hele bildet.

2. Audio CAPTCHA

Audio CAPTCHA fungerer som et alternativ til tekstbasert CAPTCHA og henvender seg til synshemmede brukere. Audio CAPTCHA presenterer et lydopptak av en sekvens av bokstaver eller tall som brukeren må taste inn riktig. Igjen er det forvrengning, denne gangen i form av ekstra bakgrunnsstøy. En interessant ting å merke seg er at Python CAPTCHA-modulen bare fungerer med tall.

3. Bilde CAPTCHA

Bilde-CAPTCHA-er er et alternativ til tekstbaserte bilde-CAPTCHA-er. Dette er de typiske CAPTCHA-ene du vil takle daglig.

Disse CAPTCHA-ene ber deg identifisere et bestemt objekt som en båt, lastebil eller brannhydrant. De presenterer disse sammen med andre bilder å velge mellom. Disse er mye mer menneskevennlige enn tekstbaserte tester, samt vanskeligere for roboter å gjenkjenne.

4. Math, Word Problem og Puzzle CAPTCHA

Math CAPTCHAs representerer ofte et enkelt aritmetisk problem som 17 + 23, 16 * 10 eller 30 / 10 med ekstra grafiske elementer.

Ordproblem CAPTCHA presenterer en sekvens av ord eller relaterte elementer og ber deg fylle ut de tomme feltene med riktig svar.

Puslespill CAPTCHA innebærer å løse et mini-puslespill som å skyve en stang til riktig lengde slik at den manglende brikken fullfører bildet.

5. Ingen CAPTCHA ReCAPTCHA

Google eier ReCAPTCHA som bruker avansert risikoanalyse og adaptive utfordringer for å forhindre roboter. ReCAPTCHA henter innhold fra Google Street View, aviser, bøker og mer.

Ingen CAPTCHA ReCAPTCHA krever at du sjekker alternativet "Jeg er ikke en robot" uten å be deg om å gå gjennom noen tester. Dette er mulig ettersom det sporer bevegelsene og identifiserer klikket. En ting å merke seg er det ReCAPTCHA fanger opp din private informasjon også.

Du kan lage en CAPTCHA-valideringsskjema ved hjelp av HTML, CSS og JS i tillegg til å bruke Python CAPTCHA-modulen.

Python CAPTCHA-modulen

Python kommer med en fantastisk modul kalt CAPTCHA som hjelper deg med å lage tekstbasert bilde- og lyd-CAPTCHA på et øyeblikk. Selv om modulen har en innebygd skriftstil og stemme, kan du bruke stemmen og skriftdataene dine til å tilpasse CAPTCHA-er ytterligere.

For å installere CAPTCHA-modulen i Python-miljøet, åpne Terminal-vinduet og skriv:

pip installere captcha

Hvordan generere en tekstbasert bilde-CAPTCHA ved hjelp av Python

Hele kildekoden for å generere tilpasset tekstbasert bilde- og lyd-CAPTCHA er tilgjengelig i denne GitHub-depot.

Du kan følge disse trinnene for å lage en tekstbasert bilde-CAPTCHA ved hjelp av Python:

  1. Importer ImageCaptcha modul plassert i captcha.image.
    # importerer de nødvendige bibliotekene
    fra captcha.image import ImageCaptcha
  2. Spesifiser en egendefinert bredde og høyde for CAPTCHA og lag en forekomst av den.
    # spesifiser dimensjoner
    image = ImageCaptcha (bredde = 300, høyde = 100)
  3. Ta en sekvens av tegn som brukerinndata ved å bruke input() funksjon for å konvertere den til et tekstbasert CAPTCHA-format.
    # skriv inn teksten for å lage captcha
    captcha_text = input("Vennligst skriv inn tekst: ")
  4. Send teksten du fikk fra brukeren til image.generate() for å lage CAPTCHA.
    # generer den tekstbaserte captchaen
    data = image.generate (captcha_text)
  5. Send teksten til CAPTCHA og bildefilnavnet sammen med utvidelsen til image.write() for å lagre det genererte bildet CAPTCHA.
    # lagre captcha-bildefilen
    image.write (captcha_text, (captcha_text) + ".png")

Utdata av tekstbasert bilde-CAPTCHA ved bruk av Python

En av de beste egenskapene til denne modulen er at den genererer den samme teksten i forskjellige farger, stiler og skjevheter. Dette er noen av de genererte eksemplene.

Dette er nok et fascinerende design generert via det samme programmet.

Hvordan generere en lyd-CAPTCHA ved hjelp av Python

Følg disse trinnene for å lage en lyd-CAPTCHA ved hjelp av Python:

  1. Importer AudioCaptcha modul fra captcha.audio.
    # importerer de nødvendige bibliotekene
    fra captcha.audio import AudioCaptcha
  2. Opprett en forekomst av AudioCaptcha().
    # opprette en lydforekomst
    audio = AudioCaptcha()
  3. Ta sifre som brukerinndata ved å bruke input() funksjon for å lage lyd-CAPTCHA.
    # audio captcha-nummer, f.eks: 32135
    captcha_text = input("Vennligst skriv inn nummer: ")
  4. Send teksten du fikk fra brukeren til audio.generate() for å lage CAPTCHA.
    # generer den lydbaserte captchaen
    audio_data = audio.generate (captcha_text)
  5. Send teksten til CAPTCHA og lydfilnavnet sammen med utvidelsen til audio.write() for å lagre den genererte lyd-CAPTCHA.
    # lagre lydfilen
    audio.write (captcha_text, "lyd"+captcha_text+'.wav')

Hvis du skriver inn tallene 970322, vil dette lyd-CAPTCHA-programmet generere en audio970322.wav fil som sier sifrene i rekkefølge med en haug med bakgrunnsstøy.

De mange bruksområdene for CAPTCHA

En CAPTCHAs primære funksjon er å forhindre spam og misbruk av roboter på et nettsted. De bidrar til å opprettholde nøyaktigheten til nettavstemninger ved å forhindre at roboter oversvømmer dem med negative svar. De fungerer som et lag med beskyttelse mot brute force-angrep og begrenser antall ganger en bruker prøver å logge på et nettsted.

CAPTCHA kan også bidra til å forhindre automatiserte kommentarer og kan bidra til å sikre betalingsgatewayer med vanskeligheter å løse.