CAPTCHA is een hulpmiddel waarmee je onderscheid kunt maken tussen echte en geautomatiseerde gebruikers. Daarmee kun je het voorkomen dat jouw website wordt gebruikt of bezocht door bots. CAPTCHA staat voor “Completely Automated Public Turing test to tell Computers and Humans Apart.” CAPTCHA's bieden uitdagingen die een bot mogelijk kan uitvoeren, maar eenvoudig zijn voor mensen of echte gebruikers.
Voorbeeld Google reCaptcha
CAPTCHA wordt gebruikt door websites die het gebruik van bots wil beperken. Andere specifieke toepassingen voor CAPTCHAs zijn bijvoorbeeld:
Een CAPTCHA verstrekt informatie aan een gebruiker ter interpretatie. Een traditionele CAPTCHA biedt bijvoorbeeld vervormde of overlappende letters en cijfers. De gebruiker moet deze vervolgens indienen via een formulierveld. De vervormde letters zijn moeilijk te interpreteren door de bots. De toegang wordt geweigerd totdat de tekens zijn geverifieerd.
Dit CAPTCHA type maakt gebruikt van het vermogen van een mens om nieuwe patronen te herkennen. Bots kunnen vaak alleen maar vaste patronen volgen of gerandomiseerde tekens invoeren. Deze beperking maakt het zeer onwaarschijnlijk dat bots of geautomatiseerde gebruikers de juiste combinatie correct zullen invoeren.
Sinds de invoering van CAPTCHA zijn er bots ontwikkeld die gebruik maken van machine learning. Deze bots zijn beter in staat om traditionele de CAPTCHA te identificeren. Dat doen ze door gebruik te maken van algoritmes die getraind zijn in patroonherkenning. Als gevolg daarvan zijn er methodes ontwikkelt die gebaseerd zijn op meer complexe tests. Zoals reCAPTCHA. Dit vereist klikken binnen een gebied en binnen een bepaald tijdsbestek.
Het voordeel van CAPTCHA is dat het zeer effectief is tegen de meeste bots. Maar, CAPTCHA systemen kunnen ook een negatieve invloed hebben op de gebruikerservaring:
De CAPTCHAs die we tegenwoordig kennen kunnen we onderverdelen in 3 categorieën:
Een op tekst gebaseerde CAPTCHA is de originele manier waarop mensen worden geverifieerd. Deze CAPTCHAs kunnen bekende woorden of zinnen gebruiken, maar ook willekeurige combinaties van cijfers en letters. Sommige op tekst gebaseerde CAPTCHAs bevatten ook variaties in hoofdlettergebruik. De CAPTCHA presenteert de tekens op een vreemde manier. Het vereist interpretatie omdat ze geschaald, vervormd of gedraaid zijn.
Deze CAPTCHAs kunnen de tekens ook overlappen met grafische elementen. Zoals kleur, achtergrondruis of lijnen. De weergave biedt bescherming tegen bots met ontoereikende tekstherkenning algoritmen. Soms zijn ze ook voor mensen moeilijk te interpreteren.
Technieken voor het creëren van tekst-gebaseerde CAPTCHA:
Een CAPTCHA op basis van een afbeelding is ontwikkeld om de op tekst gebaseerde CAPTCHA te vervangen. Ze gebruiken herkenbare grafische elementen. Zoals foto's van dieren of vormen. Een op afbeelding gebaseerde CAPTCHA kan gebruikers bijvoorbeeld vragen om beelden te selecteren die overeenkomen met een thema of dat juist niet doen.
Op afbeelding gebaseerde CAPTCHAs zijn voor mensen makkelijker te interpreteren dan op tekst gebaseerde CAPTCHAs. Deze leveren duidelijke toegankelijkheidsproblemen op voor visueel gehandicapte gebruikers. Voor bots is dit juist andersom. Dat komt omdat ze zowel beeldherkenning als semantische classificatie vereisen.
Audio CAPTCHAs zijn ontwikkeld als een alternatief dat toegankelijkheid verleent aan visueel gehandicapte gebruikers. Ze worden vaak gebruikt in combinatie met op tekst of op afbeelding gebaseerde CAPTCHAs. Een audio CAPTCHA presenteert een audio opname. Bijvoorbeeld van een reeks letters of cijfers. De gebruiker moet deze vervolgens invoeren.
Bots zijn niet in staat zijn om relevante tekens van achtergrondruis te onderscheiden. Net zoals dat met op tekst gebaseerde CAPTCHAs het geval is, kunnen deze tools moeilijk te interpreteren zijn voor zowel mensen als voor bots.
Sommige CAPTCHAs vragen gebruikers om een eenvoudige wiskundige som op te lossen. Zoals bijvoorbeeld 2+3 of 10-4. We nemen aan dat een bot het moeilijk vindt om de som te herkennen en een goed antwoord te geven. Een andere variant is een woord probleem.
Daarbij wordt de gebruiker gevraagd om het ontbrekende woord in een zin in te typen of een verschillende termen aan te vullen. Dit soort sommen is toegankelijk voor gebruikers met een visuele handicap. Maar, tegelijkertijd kunnen ze voor bots eenvoudig op te lossen zijn.
Een populair alternatief voor CAPTCHA is om gebruikers te vragen zich aan te melden met hun social media profiel. Zoals bijvoorbeeld Facebook, LinkedIn of Instagram. De gegevens van de gebruiker worden automatisch ingevuld. Dat gebeurt met behulp van de SSO of Single Sign On functie. Deze wordt aangeboden door het social media kanaal.
Hoewel dit nog steeds storend is en tijd kost, kan dit voor de gebruiker wel makkelijker in te vullen zijn dan andere vormen van CAPTCHA. Een bijkomend voordeel is dat het een handig registratie mechanisme is.
Dit type CAPTCHA wordt veel gebruikt door Google. Het is veel eenvoudiger in gebruik dan de andere CAPTCHA types. Een reCAPTCHA heeft een selectievakje met de tekst "Ik ben geen robot." De gebruiker hoeft niet meer te doen dan het selectievakje aanvinken. Ook ondersteund de captcha van Google audio en visuele afbeeldingen.
Een reCAPTCHA volgt de bewegingen van de gebruiker en stelt deze vast. Vervolgens wordt er gekeken of de klik en de andere gebruikersactiviteit op de pagina op een menselijke activiteit lijkt of op die van een bot. Als de test mislukt wordt er een traditionele op afbeelding gebaseerde CAPTCHA aangeboden. Voor validatie is de checkbox vaak voldoende. Als Google twijfelt of je een robot bent dan wordt er gevraagt een aantal afbeeldingen aan te klikken.