Captcha alternatieven en varianten

3 March, 2008

in Archief

Er zijn gelukkig verschillende alternatieven voor slecht leesbare captchas. De niet interactieve alternatieven vragen helemaal niets van de gebruiker. De interactieve alternatieven zijn als het goed is makkelijker leesbaar.

Geen enkele systeem is perfect maar misschien kunnen we het wel gebruiksvriendelijker maken.

Voorbeelden van onmogelijke captchas

  • Dit is een test die niet alleen de spambot maar ook de bezoeker buiten de deur houdt.
  • Kijk ook verder in het berichtje over de 10 slechtste captchas.

Niet interactieve checks

Deze alternatieven kunnen helpen om een spambot te vinden. Bedenk wel dat goede spammers onderstaande checks wel voorbij komen net zo als ze nu al voorbij bepaalde captchas kunnen komen. In ieder geval kun je de amateurs en old style programmatuur buiten de deur houden en het zo moeilijk mogelijk maken voor de gevorderde spammer.

  • Voeg input velden toe die niet zichtbaar zijn voor de gebruiker. Een bot vult vaak alle velden op een pagina in dus ook het verborgen veld. Door te checken of dit veld leeg is kun je de menselijke gebruiker vinden. Je kan de CSS ook extern zetten of bijvoorbeeld {display:none} gebruiken.

    <input name="spam" style="visibility:hidden" type="text" />

  • Je kan de hidden velden ook gebruiken op de submit button en de echte button met javascript maken. Zie ook het volgende voorbeeld van Bram op TBForum.

    <input type='submit' name='p' value='go' style='display:none'/>
    <script language=\"JavaScript1.1\" type=\"text/javascript\">
    document.write('<in' + 'put ty'+'pe=\"hid' + 'den\" na'+'me=\"acti'+'on\" va'+'lue=\"addme\">');
    document.write('<input t'+'ype=\"sub'+'mit\" na'+ 'me=\"post\" value=\" $[Post] \" />');
    </script>

  • Controleer de velden buiten het e-mail adres, zoals de username, op het gebruik van @ of HTTP. Soms vullen spambots niet op de juiste plekken een email adres of website in.
  • Gebruik filters zoals het gratis filter van Akismet. Ik gebruik het zelf op dit blog en ben zeer tevreden. Het gebeurt zelden dat er een normaal bericht in de spamfilter terecht komt.
  • Je kan natuurlijk ook ouderwets moderaten.

Variaties op de captcha

Onderstaande alternatieven vragen de gebruiker ook om iets in te voeren en lijken daarmee op captchas. Er wordt echter geprobeerd de leesbaarheid te vergroten en tegelijkertijd geprobeerd de spambot om de tuin te leiden.

  • Gebruik logische puzzels zoals "2 keer 2 = ....", "Hoeveel centimeter zit er in een meter?", "Hoeveel wielen heeft een auto?".
  • Gebruik trivia zoals "water is niet droog maar ....". Bekijk een voorbeeld.
  • Maak plaatjes van dieren of voorwerpen en stel daar vragen over zoals: "Hoeveel katten zie je?", "Staat er een huis op het plaatje?".
  • Zet verschillende plaatjes online en laat bezoekers bepaalde plaatjes selecteren, bijvoorbeeld de plaatjes met katten erop. Bekijk een voorbeeld en lees verder over de maker van deze test.
  • Maak een "ja" en een "nee" radio button op en selecteer automatisch "nee". Laat de bezoeker verklaren dat ze geen spammers zijn door "ja" te selecteren.
  • Maak een geluidsopname met cijfers en/of getallen en laat mensen deze dan intikken.

Als je nog andere alternatieven weet of voorbeelden van bovenstaande tests, laat dan een comment achter of stuur een berichtje. Ik ga proberen dit bericht zoveel mogelijk aan te vullen met andere alternatieven voor captchas.

Blijf op de hoogte

Vond je deze informatie interessant, zorg dan dat je het laatste nieuws en de beste kortingen via onze nieuwsbrief ontvangt. Schrijf je nu in >>>

Je kan je natuurlijk ook op onze RSS feed inschrijven en het nieuws volgen via je eigen RSS Reader.

{ 1 }

Edwin Waelbers 18.09.10 om 7:49

De honingpot techniek, het onzichtbaar maken van velden, is een goede techniek.

Een variant hierop is deze velden gewoon buiten het scherm te zetten. In je CSS zet je die velden op een negatieve x/y plek. Dit werkt nog iets beter dan de display:none techniek.

Meer info kan je hier vinden:
Captcha kost je geld

Previous post:

Next post: