Het verhaal van de CAPTCHA

door
29 september 2012
Leestijd: 2 minuten

Captcha? Je kent ze wel, die irritante woorden die je moet overtypen om een formulier op een website in te vullen. En als je een letter fout typt kun je opnieuw beginnen. Het is niet bepaald gebruiksvriendelijk, toch zit er achter deze ‘woorden’ een mooi verhaal wat veel mensen niet weten: in feite helpen we met z’n allen mee aan het vertalen van oude boeken… Tijd om dat eens verder toe te lichten dus!

Waar staat captcha voor?

Het is een afkorting voor “Completely Automated Public Turingtest to tell Computers and Humans Apart” en was een project van de Carnegie Mellon University. Check de officiele site voor meer info.

Waarom een captcha?

Omdat er helaas veel ‘robots’ actief zijn die veelvuldig formulieren op websites invullen met ‘fake-gegevens’. Om dit te voorkomen wordt getest of je ‘human’ bent en dus moet je een of twee woorden overtypen.

Maar waarom is dit niet andersom? Waarom kunnen webontwikkelaars deze vraag niet aan robots stellen? Dat is een lang en technisch verhaal, maar om het eenvoudig uit te leggen komt het er op neer dat je robots bijvoorbeeld een extra veld kunt laten zien in het formulier. Als ze deze invullen weet je dus dat je te maken hebt met een robot. Vanwege de diversiteit aan browsers en zogenaamde ‘screenreaders’ is het mogelijk dat bezoekers deze ook zien en vervolgens het formulier niet in kunnen vullen. En dat wil je uiteindelijk ook niet…

En dat verhaal over het vertalen van oude boeken?

Vaak zie je een captcha melding waarbij je 2 woorden dient in te voeren. Je moet het zo zien dat deze 2 woorden zijn ingescand vanuit oude boeken maar dat de OCR software (optical character recognition: letterherkenning) het woord niet goed heeft kunnen vertalen. Al deze woorden zijn dus verzameld in een database en worden middels een bepaald algoritme naast elkaar getoond. Een gedeelte van deze woorden is handmatig vertaald, vervolgens wordt de totale database van woorden het wereldwijde web ingeslingerd en gebeurt er het volgende:

  • je typt 2 woorden over (1 van de 2 woorden is al door 99 van de 100 mensen correct ingevoerd)
  • in feite hoef je dus maar 1 woord correct te typen (maar jij weet niet welke)
  • als met jou nog 99 anderen hetzelfde woord typen naast het andere woord kunnen ze ervan uitgaan dat wat je intypte het echte woord is
  • het woord wat dus niet vertaald werd door de software is nu door normale internetgebruikers ‘vertaald’
  • ga na dat dit dagelijks miljoenen keer gebeurd, dan heb je snel de nodige oude boeken vertaald!

Met als gevolg dat je een proces krijgt van ‘boek’ naar ‘ocr herkenning’ naar uiteindelijk het captcha resultaat!

Op Ted.com staat ook een mooie video met nog veel meer details:

 

Zijn er alternatieven?

Voor de meer technische mensen onder ons zijn er een aantal opties om de ‘robots’ automatisch te weren danwel bezoekers een betere gebruikerservaring te bieden:

  • laat bezoekers een som maken in plaats van onleesbare woorden overtypen
  • toon de captcha niet als Javascript uit staat (wat robots veelal doen) je schakelt echter ook ‘echte’ bezoekers hiermee uit
  • check binnen hoeveel seconden het formulier wordt ingevuld; een ‘mens’ kan binnen 5 seconden geen volledig formulier invullen

 

 

0 Reacties

Geef een reactie