Blog

De wondere wereld van Captcha's

Geschreven door: Jente Kasprowski Jente Kasprowski 8 reacties

Vandaag de dag zijn er bijna op elke website captcha's te vinden. Deze zijn een belangrijk gegeven in de oneindige strijd tegen spam. In deze blogpost overloop ik samen met jullie een aantal verschillende captha-methodes.

Vervormde tekst

vervormde tekst

De meest gekende vorm van captcha's zijn ongetwijfeld de afbeeldingen met vervormde tekst. De gebruiker krijgt een aantal tekens voorgeschoteld op een bedje van ingewikkelde achtergronden. Deze worden vervormd zodat ze voor een persoon nog te herkennen zijn maar het voor de computers een stuk moeilijker wordt.

Hoewel dit in het beginstadium van captcha's heel goed werkte, zijn er ondertussen verschillende programma's op de markt die deze captcha's kunnen lezen. Op deze website (mirror) kan je een overzicht vinden van verschillende vervormingen en of ze al dan niet al leesbaar zijn door computers. Jammer genoeg is deze site niet altijd bereikbaar maar het is zeker de moeite om eens te bekijken.

Geluidsfragmenten

geluidsfragmenten

Een andere methode zijn de geluidsfragmenten. Dit is veiliger dan de eerste methode omdat het moeilijker is om software te schrijven die de gegevens uit een geluidsfragment kan halen. Een ander voordeel van deze methode is dat het beter geschikt is voor mensen met een visuele handicap. Een mogelijk nadeel is dat niet iedereen geluid kan afspelen op zijn computer en dus de captcha niet kan invullen.

Jammer genoeg kan je met PHP geen geluidsfragmenten bewerken met een standaard installatie. Als je deze methode wil gebruiken zal je dus wel wat research moeten doen over hoe je dit kan verwezenlijken.

Deze methode wordt meestal in combinatie gebruikt met de vervormde tekst. Zo geeft reCaptcha bijvoorbeeld de gebruikers de keuze tussen tekst en een geluidsfragment.

Honeypot

honeypot

Er zijn ook een aantal meer technische mogelijkheden. Zo is het bijvoorbeeld bekend dat robots altijd zoveel mogelijk input velden willen invullen en geen CSS of Javascript uitvoeren. Hierdoor kunnen we de honeypot captcha method gebruiken. Deze methode bestaat erin om een extra input veld aan te maken dat we met behulp van CSS of Javascript verbergen. De robots zullen dit veld gewoon invullen en dus kunnen we concluderen dat wanneer het veld ingevuld is, het gaat om een robot en we de gegevens kunnen negeren.

Doordat deze methode het voorbije half jaar sterk aan bekendheid heeft gewonnen zijn er al enkele programma's op de markt die deze inputvelden proberen te ontwijken aan de hand van hun naam. Je doet er dus goed aan om deze velden zo neutraal mogelijk te benoemen ('email_address', 'full_name', etc.) of om er meer dan één te voorzien in je formulier.

Mensen die zowel CSS als Javascript hebben uitgeschakeld of een browser gebruiken die dit niet ondersteunt (bijvoorbeeld een screenreader) zullen deze invoervelden gewoon zien. Deze mensen kan je helpen door een label te voorzien bij de invoervelden met de tekst 'Vul dit veld niet in'.

Te snel verstuurd

te snel verstuurd

Bijna alle robots zijn gebouwd om zoveel mogelijk te kunnen spammen. Een logisch gevolg is dan ook dat ze formulieren in een razend tempo zullen invullen en versturen. Deze eigenschap kunnen we gebruiken om ze te stoppen.

Bij het aanmaken van het formulier houd je de tijd bij in een variabele. Bij het verwerken van het formulier vergelijk je deze met de huidige tijd. Indien er minder dan 5 seconden tussen de twee zitten heb je te maken met een computer. De minimale tijd tussen de twee metingen moet je natuurlijk afstemmen op de lengte van je formulier.

Andere methodes

Het spreekt voor zich dat er nog duizenden andere methodes zijn en het is dan ook onmogelijk deze hier allemaal te bespreken. Zo zijn er bijvoorbeeld captcha's die je vragen de kat uit de reeks honden te kiezen, een aantal vormen te tellen, een rekensom te maken, een puzzel op te lossen, etc.

Google lanceert binnenkort een nieuwe methode, de zogenaamde 'What's up, bot'. Deze geeft de bezoeker twee dezelfde afbeeldingen maar één van de twee afbeeldingen is gedraaid. De bezoeker moet de niet-gedraaide afbeelding kunnen identificeren om te slagen voor de test. Meer info kan je op deze website vinden.

Heb jij nog ergens een interessante methode gezien? Welke captcha gebruik jij voor je websites? Laat het ons weten in de reacties!

8 Reacties op deze blogpost:

Jelle
Door Jelle op 12 november 2009

Een methode die ik op sommige sites gebruik / gebruikt heb is het analyseren van het bericht. Aan de hand van de lengte, het aantal links, goedgekeurde comments van hetzelfde e-mailadres e.d. werden punten aan het commentaar toegekend. Bij genoeg punten werd het commentaar toegelaten, bij te weinig werd het verwijderd en bij twijfelgevallen kon ik het zelf goedkeuren of afwijzen.

Af en toe kon er wel eentje het systeem misleiden, maar de meerderheid werd toch tegengehouden.
Meer info op http://snook.ca/archives/other/effective_blog_comment_spam_blocker/

Jan Ottenbourg
Door Jan Ottenbourg op 12 november 2009

Het Belgische Mollom combineert text filtering en content analysis met visuele en audio CAPTCHAs

Rob Frederix
Door Rob Frederix op 15 november 2009

Interessant post dat een goed overzicht geeft over de verschillende vormen van Capcha's, ik ga zeker ook Mollom eens uittesten zoals @Jan Ottenbourg aangeeft.

Sam Vloeberghs
Door Sam Vloeberghs op 15 november 2009

Een combinatie is meestal de ultieme oplossing:
Bijvoorbeeld een dynamisch rekensommetje + een honeypot doet wonderen op sommige van mijn websites.

Massimo Mertens
Roller Banners Fast
Door Roller Banners Fast op 29 maart 2010

Some captures I find really hard to read. I like the ones that speak the word to you.

Edwin Waelbers
Door Edwin Waelbers op 06 april 2010

Gisteren wou ik een fris pint gaan drinken op de Groenplaats in Antwerpen.

Na wat wikken en wegen koos ik voor één van de cafés aan de kant van kathedraal, ik wou naar binnen gaan en plots stond er een kelner voor mijn neus die vroeg of ik eerst een captcha wou intikken, omdat ik anders niet binnen mocht.

Ik heb mij omgedraaid en ik ben het café ernaast binnengelopen voor mijn pintje. Daar vroegen ze geen captcha code.

Spam is niet het probleem van de gebruiker, da's jouw probleem. Die gebruiker mag dan ook niet gepest worden met dingen waar hij niets aan kan doen.

Bovendien zijn sommige captcha's niet aangepast voor blinden en sommige zijn zelfs niet leesbaar voor mensen die wél heel goed kunnen zien.

Elke drempel die niet nodig is een drempel te veel. De kans wordt er alleen maar groter op dat je gebruiker afhaakt.

Captcha's zijn al een tijdje niet meer spam-proof, dus weg met die ondingen.

Dirk Sijmons
Door Dirk Sijmons op 09 oktober 2013

Het gebeurt om de haverklap dat ik bij het inloggen bij twitter, zonder reden want de browser onthoudt gebruikersnaam/wachtwoord een captcha krijg. Ik vul deze in, dien weer een klacht in bij twitter en deactiveer mijn account en laat dit een tijdje zo. Niets helpt, en die "support" van twitter... tja, die bestaat niet echt net als de support van
google, microsoft en ALLE internet aanbieders.

Je vraag gaat bijv over olifanten en het antwoord, als je dat al krijgt
gaat over aardbeien. Misschien is er iets dat helpt: Ik zag een tweet van iemand in de VS die meldde dat "another brave soul"
nu ook computerloos was geworden.

Dat is wat we moeten doen: Youp van 't Hek zei het al in zijn tijdschrift "HELP" : massaal de boel opzeggen. Maar dat gaat niet gebeuren, want: we zijn verslaafd!

Reageer ook op dit artikel

U kan optioneel inloggen met Twitter of Facebook. U krijgt dan de mogelijk om uw reactie ook te delen via Twitter of Facebook
Login with twitter
Aanmelden