CAPTCHA introducerades i början av 2000-talet och har irriterat användare i årtionden nu. Från att hitta bilder på en buss till att skriva in en konstig sekvens av bokstäver eller lösa matematiska problem, det finns många sätt som sajter ber dig att bevisa att du inte är en robot.

Men har du någonsin undrat hur CAPTCHA fungerar och varför webbplatser tvingar dig att lösa dem?

Vad är CAPTCHA?

CAPTCHA står för Completely Automated Public Turing-test för att tala om för datorer och människor. Som namnet antyder skiljer den mellan människor och datorer.

Grundkonceptet för CAPTCHA bygger på bristen på datorintelligens för att känna igen mönster. En dator kan känna igen bokstäver men inte i de fall de är ändrade eller uppvisar mycket bakgrundsljud. Människor, under tiden, är fasta i generationer för att upptäcka och identifiera mönster som en säkerhetsmekanism.

Typer av CAPTCHA

CAPTCHA finns i olika typer, några av dem är:

1. Textbaserad bild-CAPTCHA

Textbaserad CAPTCHA använder en uppsättning ord eller fraser eller en slumpmässig kombination av olika bokstäver, siffror och symboler. Den representerar en sekvens av karaktärer i en alienerad form som är lite svår att tolka.

instagram viewer

Dessa inkluderar förvrängning, rotation, vändning, vinglighet, stil med versaler och överlappning med angränsande tecken. För att förbättra denna teknik kan en CAPTCHA inkludera grafik som linjer, bågar eller punkter på ett randomiserat sätt, spridda över hela bilden.

2. Audio CAPTCHA

Audio CAPTCHA fungerar som ett alternativ till textbaserade CAPTCHA och vänder sig till synskadade användare. Audio CAPTCHA presenterar en ljudinspelning av en sekvens av bokstäver eller siffror som användaren måste ange korrekt. Återigen finns det distorsion, denna gång i form av extra bakgrundsljud. En intressant sak att notera är att Python CAPTCHA-modulen bara fungerar med siffror.

3. Bild CAPTCHA

Bild-CAPTCHA är ett alternativ till textbaserad bild-CAPTCHA. Det här är de typiska CAPTCHA som du kommer att hantera dagligen.

Dessa CAPTCHA ber dig att identifiera ett visst föremål som en båt, lastbil eller brandpost. De presenterar dessa tillsammans med andra bilder att välja på. Dessa är mycket mer människovänliga än textbaserade tester samt svårare för bots att känna igen.

4. Matte, ordproblem och pussel-CAPTCHA

Math CAPTCHAs representerar ofta ett enkelt aritmetiskt problem som 17 + 23, 16 * 10 eller 30 / 10 med tillagda grafiska element.

Ordproblem CAPTCHA presenterar en sekvens av ord eller relaterade objekt och ber dig att fylla i tomrummen med lämpligt svar.

Pussel CAPTCHA går ut på att lösa ett minipussel som att skjuta en stapel till rätt längd så att den saknade biten fullbordar bilden.

5. Ingen CAPTCHA ReCAPTCHA

Google äger ReCAPTCHA som använder avancerad riskanalys och adaptiva utmaningar för att förhindra bots. ReCAPTCHA hämtar innehåll från Google Street View, tidningar, böcker och mer.

Ingen CAPTCHA ReCAPTCHA kräver att du markerar alternativet "Jag är inte en robot" utan att be dig gå igenom några tester. Detta är möjligt eftersom det spårar rörelserna och identifierar klicket. En sak att notera är det ReCAPTCHA fångar din privata information också.

Du kan skapa en CAPTCHA-valideringsformulär med HTML, CSS och JS samt att använda Python CAPTCHA-modulen.

Python CAPTCHA-modulen

Python kommer med en fantastisk modul som heter CAPTCHA som hjälper dig att skapa textbaserade bild- och ljud-CAPTCHA på ett ögonblick. Även om modulen ger en inbyggd typsnittsstil och röst, kan du använda din röst och teckensnittsdata för att anpassa CAPTCHA ytterligare.

För att installera CAPTCHA-modulen i din Python-miljö, öppna terminalfönstret och skriv:

pip Installera captcha

Hur man genererar en textbaserad bild-CAPTCHA med Python

Hela källkoden för att skapa anpassad textbaserad bild- och ljud-CAPTCHA finns tillgänglig i denna GitHub-förråd.

Du kan följa dessa steg för att skapa en textbaserad bild-CAPTCHA med Python:

  1. Importera ImageCaptcha modul belägen i captcha.image.
    # importerar de nödvändiga biblioteken
    från captcha.image importera ImageCaptcha
  2. Ange en anpassad bredd och höjd för din CAPTCHA och skapa en instans av den.
    # ange mått
    bild = ImageCaptcha (bredd = 300, höjd = 100)
  3. Ta en sekvens av tecken som användarinmatning med hjälp av inmatning() funktion för att konvertera den till ett textbaserat CAPTCHA-format.
    # skriv in texten för att skapa dess captcha
    captcha_text = input("Vänligen ange text: ")
  4. Skicka texten du fick från användaren till image.generate() för att skapa CAPTCHA.
    # generera den textbaserade captcha
    data = image.generate (captcha_text)
  5. Skicka texten till CAPTCHA och bildfilens namn tillsammans med dess tillägg till image.write() för att spara den genererade bilden CAPTCHA.
    # spara captcha-bildfilen
    image.write (captcha_text, (captcha_text) + ".png")

Utdata av textbaserad bild-CAPTCHA med Python

En av de bästa funktionerna i denna modul är att den genererar samma text i olika färger, stilar och skevheter. Det här är några av de genererade exemplen.

Detta är ännu en fascinerande design som genereras via samma program.

Hur man genererar en Audio CAPTCHA med Python

Följ dessa steg för att skapa en ljud-CAPTCHA med Python:

  1. Importera AudioCaptcha modul från captcha.audio.
    # importerar de nödvändiga biblioteken
    från captcha.audio importera AudioCaptcha
  2. Skapa en instans av AudioCaptcha().
    # skapa en ljudinstans
    audio = AudioCaptcha()
  3. Ta siffror som användarinmatning med hjälp av inmatning() funktion för att skapa dess audio CAPTCHA.
    # audio captcha-nummer, t.ex.: 32135
    captcha_text = input("Vänligen ange nummer: ")
  4. Skicka texten du fick från användaren till audio.generate() för att skapa CAPTCHA.
    # generera den ljudbaserade captchaen
    audio_data = audio.generate (captcha_text)
  5. Skicka texten till CAPTCHA och ljudfilens namn tillsammans med dess tillägg till audio.write() för att spara den genererade ljud-CAPTCHA.
    # spara ljudfilen
    audio.write (captcha_text, "audio"+captcha_text+'.wav')

Om du anger siffrorna 970322, kommer detta ljud-CAPTCHA-program att generera en audio970322.wav fil som talar siffrorna i sekvens med en massa bakgrundsljud.

De många användningsområdena för CAPTCHA

En CAPTCHA: s primära funktion är att förhindra spam och missbruk av bots på en webbplats. De hjälper till att upprätthålla korrektheten i onlineundersökningar genom att förhindra bots från att översvämma dem med negativa svar. De fungerar som ett lager av skydd mot brute force-attacker och begränsar antalet gånger en användare försöker logga in på en webbplats.

CAPTCHA kan också hjälpa till att förhindra automatiserade kommentarer och kan hjälpa till att säkra betalningsgateways med deras svårigheter att lösa.