Hvis alle webmastere lager litt plunder og heft for spammerne ved å lage forskjellige løsninger, blir det mer jobb for dem. For manuell hacking er derimot metoden du skisserer best.
Jeg misliker også CAPTCHA veldig. Derfor gjør jeg, litt forenklet, følgende:
- I det brukeren begynner å skrive i et textarea- eller inputfelt, gjør AJAX et kall i bakgrunnen og returnerer et ID-nummer til et skjult form-felt (jeg kjører altså en INSERT). Samtidig registrerer jeg klokkeslettet dette skjer. Jeg har altså en “tom” rad i databasen med kun ID og dato/klokkeslett.
- Når brukeren så submiter, sjekker jeg at klokkeslettet er mindre enn en time, men mer enn 5 sekunder siden. Hvis ikke, kommer CAPTCHA opp som en mellomside. Deretter kjører jeg en UPDATE på den tidligere opprettede raden.
Ingen perfekt løsning, men perfekt for min del så langt. Den fungerer vel på sett og vis fordi ikke så mange har akkurat denne implementasjonen. Oppfordrer derfor utviklere til å finne på “rare ting”. ![]()
Det er to ting du glemmer her Martin
1. Det finnes brukere som ikke har anledning til CAPTCHA i det hele tatt, rett og slett fordi dem ikke kan se bilder, jeg tenker selvfølgelig på sterkt svaksynte eller blinde brukere, uansett hvor vant jeg er til CAPTCHA i dag, vil det være umulig for meg å benytte om jeg skulle miste det lille jeg har igjen av syn.
2. Du har skrevet innlegget ditt kun for bloggkomentarer, men hva med nettsider, som krever registrering, som f.eks. gmail.com diskusjonsforumet til The Gathering (og andre). osv. Der vil ikke løsningene du skiserer være så enkle…
Jeg er 110% enig med deg i at spamfiltre ikke bør plage brukeren, CAPTCHA er et teknologisk blindspor i mine øyne. Det eneste unntaket jeg kan se for meg er hvis brukeren mangler støtte for teknologier som spamfilteret behøver(og som er “vanlige”, slik som cookies eller javascript). Jeg har implementert en slik løsning for min arbeidsgiver (debatter på iTromso.no) hvor det kun er brukere uten javascript som merker spamfilteret, og da i form av et enkelt regnestykke som må fylles ut.
Nå skal det sies at slike filter er veldig lette for spammere å bryte seg gjennom, men så lenge man bruker en selvlaget løsning og ikke en standardisert en er det relativt trygt. Men jeg må tilstå jeg likte cookies-løsningen din også. ![]()
Fungerer løsningen din uten støtte for JavaScript, Svenn? Ikke at jeg ser det som et problem, men er bare nysgjerrig.
At jeg ikke omtaler de to punktene betyr ikke at jeg har glemt eller oversett de, Andreas. Kan jo ikke omtale alt som bruker skjemaer heller. Da ville lista blitt laaang. ![]()
Det er ikke nødvendigvis så vanskelig for spammere å omgå CAPTCHA heller. Du legger bare ut en «honeypot» og får massevis av mennesker til å taste de inn for deg.
Seth Godin har en liten artikkel om det her:
http://sethgodin.typepad.com/seths_blog/2007/10/diabolical.html
Veldig bra poeng, Bjørn!
Jeg er forresten i gang med å skrive en post om hvordan CAPTCHA egentlig bør fungere, og hvordan man løser det rent teknisk.
Så Martin, for å spamme deg i fillebiter så trenger man bare å bruke epost/url til en av de kommentatørene som du allerede har godkjent? ![]()
Før du poster en kommentar må du være kjent med retningslinjene for kommentarposting, samt personvernpolitikken for bekkelund.net.
Felter merket med * må fylles ut. Din e-postadresse vil ikke være synlig.
Formatering med XHTML: Du kan bruke disse elementene til formatering: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> . Tekstbaserte uttrykksikoner konverteres automatisk til bilder. Hjelp til formatering.
Martin Bekkelund er fornøyd bruker av WordPress med hjemmelaget tema.
Du kan abonnere på både artikler som Atom, RSS 2.0 eller RSS 0.92, samt kommentarer som RSS 2.0.
Denne artikkelen ble til ved hjelp av 13 kopper espresso konsumert på 0.954 minutter.