Martin Koksrud Bekkelund

Martin Koksrud Bekkelund

Teknologi • Samfunn • Politikk

CAPTCHA

24.10.07

Martin liker ikke CAPTCHA

For ganske nøyaktig et år siden skrev jeg artikkelen Hvorfor CAPTCHA er en dårlig idé. Jeg mener fortsatt at CAPTCHA er en dårlig idé og vil benytte denne artikkelen til å utdype hvorfor.

Hva er CAPTCHA?

CAPTCHA står for «Completely Automated Public Turing test to tell Computers and Humans Apart». En utfyllende beskrivelse av den opprinnelige ideen bak CAPTCHA finner man i Wikipedia. Jeg siterer et modifisert utdrag:

CAPTCHA is a type of challenge-response test used in computing to determine whether the user is human. […] CAPTCHA involves one computer which asks a user to complete a test.

CAPTCHA blir tradisjonelt sett benyttet som en autentiseringsmekanisme for å sikre at den som fyller ut et webbasert skjema faktisk er et menneske, og ikke en maskin, eksempelvis en spam-robot.

Beskrivelsen har en logisk brist, som må ta skylden for at dagens CAPTCHA-løsninger er så brukerfiendtlige som de er. Må man involvere brukeren feiler nemlig «Completely Automated», ettersom prosessen ikke lenger er fullstendig automatisert, men krever interaksjon med brukeren.

CAPTCHA er således kun fullautomatisert for administratoren som eier nettstedet, men hvem er det egentlig du ønsker å tilfredsstille? Administratoren eller brukeren? Slik CAPTCHA her blir beskrevet er CAPTCHA altså en dårlig idé, når man dytter et problem over på brukeren. Er man glad i sine brukere, og ønsker at de skal returnere til nettstedet, tar man selvfølgelig på seg jobben med å gjøre det så enkelt og brukervennlig som mulig. I den grad omfanget tillater det, bør administratoren ta på seg denne jobben.

Hva kan gå galt?

Fra et brukervennlighetsperspektiv

For utviklere og brukere som har lest om CAPTCHA, er det den mest naturlige løsning i hele verden. Det er til og med en smart måte å løse et komplekst problem på. Imidlertid er det ikke denne brukermassen som utgjør et problem. Brukere som ikke har hørt om CAPTCHA vil ha problemer med å forstå hva som skal utføres og hvorfor de skal gjøre det, og terskelen for å utføre det du ønsker av brukerne høynes dramatisk.

Du som leser denne artikkelen er sannsynligvis oppdatert på teknologi, men det er ikke deg dette dreier seg om. Dette handler om å tilrettelegge brukervennlige løsninger også for mennesker som ikke er teknologisk orienterte, som ikke har et forhold til verken spam eller mekanismer for antispam.

Fra et teknisk perspektiv

I en tradisjonell CAPTCHA-løsning er det flere forutsetninger som må være på plass for å få løsningen til å fungere. Manglende støtte for Informasjonskapsler og bilder er de to vanligste problemene.

En relativt stor mengde brukere aksepterer ikke informasjonskapsler annet enn for egendefinerte nettsteder. Årsaken er at funksjonaliteten rundt informasjonskapsler kan misbrukes, blant annet til såkalte sporingskapsler. Jeg siterer Wikipedias artikkel om sporingskapsler:

Cookies have been of concern for Internet privacy, since they can be used for tracking browsing behavior. […] Cookies have also been criticised because the identification of users they provide is not always accurate and because they could potentially be used for network attacks.

Jeg skal ikke gå inn i en diskusjon om hvorvidt informasjonskapsler er en god ting eller ei, men ønsker å belyse det faktum at mange velger å ikke akseptere informasjonskapsler nettopp av de årsakene som er sitert over. Selv aksepterer jeg kun informasjonskapsler fra nettsteder jeg manuelt velger selv.

Med dagens mobile enheter er det enkelt å få tilgang til internett over en rask forbindelse. Det er derimot ikke gratis, og brukerne betaler inntil 15,- kroner per overførte megabyte. Enten man surfer via mobilen eller en datamaskin via mobilen, er det mange som velger å deaktivere bilder. En åpenbar konsekvens er naturligvis at bildet som benyttes i tradisjonelle CAPTCHA-løsninger ikke vises, og i verste fall blir fullstendig usynlig for brukeren.

I tillegg benytter svært mange brukere Adblock eller tilsvarende løsninger, som filtrerer uønsket innhold på websider, som reklame og annonser. Jeg har tidligere vært inne på hvilke fatale konsekvenser som følger av feilaktig bruk av bilder til kritiske funksjoner, når filtreringsfunksjoner fjerner bildene.

Manuell hacking

Med CAPTCHA kommer man ikke utenom et annet problem, nemlig manuelle spammere. Selv om mesteparten av all spam i dag er automatisert, finnes det allikevel mennesker som gjør denne jobben manuelt. Dette problemet kommer man riktignok ikke utenom med andre løsninger heller, men med CAPTCHA som eneste forsvarsmekanisme er det en svært triviell jobb å forbigå.

Når man ser tjenester som WhatTheFont, tør jeg påstå at det kun er et spørsmål om tid før også maskiner klarer å knekke dagens CAPTCHA-implementasjoner.

Hvordan CAPTCHA bør fungere

CAPTCHA burde vært spesifisert annerledes. I hvert fall i henhold til innholdet i Wikipedia-artikkelen. Det klare målet bør være nettopp det forkortelsen indikerer, å være en fullautomatisert løsning for å filtrere spam.

Den perfekte CAPTCHA-løsningen er den ingen ser, men allikevel klarer å filtrere vekk uønskede henvendelser. Verken du som bruker eller jeg som administrator skal behøve å forholde meg til CAPTCHA som løsning eller spam som problem.

Selv har jeg ikke funnet den perfekte løsningen. Jeg har ikke en gang sett den i bruk hos andre. Alle løsninger jeg har sett krever interaksjon fra en administrator som tidvis må foreta seg noe i forhold til løsningen.

Jeg har en løsning som følger:

  • Første gang en bruker legger igjen en kommentar puttes kommentaren inn i en godkjenningskø, hvor jeg manuelt må godkjenne kommentaren før den publiseres. Alle påfølgende kommentarer fra denne brukeren vil deretter publiseres direkte, uten at jeg trenger å involvere meg. Unntaket er hvis kommentaren bryter med ett eller flere av følgende punkter.
  • Jeg benytter et ordfilter for å filtrere kommentarer som inneholder ett eller flere ord jeg har spesifisert i ordfilteret. Ideelt sett kunne jeg kuttet ut denne funksjonen, men jeg har valgt å benytte den som andre og siste forsvarslinje. Det hender fra tid til annen at brukere som tidligere har fått godkjent kommentarer allikevel opplever at deres kommentar blir lagt til godkjenning, som en følge av ordfilteret.
  • Til slutt benytter jeg filtrering av IP-adresser. Dette er en manuell jobb, hvor jeg oppdaterer en IP-adresseliste basert på statistikk. Hvis en IP-adresse står for et visst antall spam-kommentarer, sperrer jeg IP-adressen fra å aksessere bekkelund.net. På denne måten unngår jeg både at det blir lagt igjen uønskede kommentarer, i tillegg til at spammerne ikke kaster bort båndbredden jeg har tilgjengelig fra min ISP.

Dette er altså ikke en perfekt løsning, men den er brukervennlig for deg som skal legge igjen kommentarer, i tillegg til at den ikke slipper igjennom spam. Ulempen er selvfølgelig at kommentarer som ligger til godkjenning blir liggende en viss tid før den godkjennes. Spørsmålet er om du foretrekker en løsning med høy brukerterskel eller en løsning som inviterer alle til å delta.

Martin skriver regelmessig om hvordan teknologi, samfunn og politikk påvirker hverandre. Legg igjen din e-postadresse og få nye artikler via e-post:

Flere artikler

Enda flere artikler? Besøk arkivet.

Om Martin

Martin Koksrud Bekkelund

Dette er Martin Koksrud Bekkelund sitt private nettsted, hvor han skriver om samspillet mellom teknologi, samfunn og politikk. Martin arbeider til daglig som direktør for produkt- og forretningsutvikling i et av Norges største selskaper. Les mer...

 

Facebook Twitter Instagram LinkedIn GitHub SlideShare Martin Koksrud Bekkelunds RSS-kanal

© 1995-2016 Martin Koksrud Bekkelund
OpphavsrettRSS og abonnementKontakt