CAPTCHA-alternatyf

Skriuwen · 30 jul 2022

CAPTCHA-alternatyf

Beskermje dyn formulieren op in brûkersfreonlike manier

Grutte kâns dat do al ris in CAPTCHA tsjinkommen bist: se beskermje webformulieren troch dy frjemd ferfoarme tekens oertype te litten of troch foto's oan te klikken dêr't in bepaald ding op stiet. Wêrom wurde se brûkt en is der in brûkersfreonlik alternatyf?

Wat is CAPTCHA?

CAPTCHA's binne makke om kompjûters en minsken fan inoar te ûnderskieden en freegje faak om wat dat kompjûters net maklik kinne. Dêrom stiet de ôfkoarting foar: Completely Automated Public Turing test to tell Computers and Humans Apart. Websitemakkers brûke CAPTCHA's om har webformulieren te beskermjen tsjin automatyske spam en misbrûk.

Typyske CAPTCHA's dy't do op it web tsjinkomme kinst (byldkredyt: Wikipedia en Google)
Typyske CAPTCHA's dy't do op it web tsjinkomme kinst (byldkredyt: Wikipedia en Google)

Wêrom hast do formulierbeskerming nedich?

In typysk webformulier brûkt twa stappen:

  • ynformaasje ynfiere: Do fierst wat ynformaasje yn en dan klikst do op "VERSTJOER" (of wat dêrop liket) om troch te gean.
  • ynformaasje ferwurkje: De ynformaasje dy't do ynfierd hast, wurdt troch in server ferwurke, dy't dyn berjocht of fersyk miskien trochjout oan immen syn e-mail.
In typysk webformulier: de server ferwurket ynformaasje fan in persoan en stjoert it troch nei oare minsken, lykas dysels. Kwea-aardige partijen kinne de ôfstjoerder maklik neimeitsje, sadat automatysk misbrûk fan dyn ferwurkjende server mooglik is
In typysk webformulier: de server ferwurket ynformaasje fan in persoan en stjoert it troch nei oare minsken, lykas dysels. Kwea-aardige partijen kinne de ôfstjoerder maklik neimeitsje, sadat automatysk misbrûk fan dyn ferwurkjende server mooglik is

It probleem fan dizze typyske oanpak is dat de earste stap maklik automatisearre wurde kin troch kwea-aardige partijen. Se brûke in oare kompjûter om hieltyd wer ynformaasje nei de server te stjoeren, sadat dy in hiele bulte ynformaasje ferwurkje moat, faak mei spamberjochten deryn. Hackers binne benammen skerp op webformulieren dêr't se it "TO"-adres manipulearje kinne, want dan kinne se dyn server brûke om spamberjochten nei elkenien op de wrâld te stjoeren.

In CAPTCHA beskermet dyn formulier troch te foarkommen dat in kompjûter automatysk ynformaasje nei dyn server stjoert.

Problemen mei CAPTCHA

Earlik sein fyn ik se ûnsjoch en ûnhandich, en ik bin net allinnich. Se meitsje in drompel foar minsken: legere konversaasjesifers, minder klikken, ensfh. Boppedat binne se faak tige ûnfreonlik foar minsken mei in beheinde sicht.

Kritisy klage ek oer Google, ien fan de populêrste oanbieders fan fergese CAPTCHA-tests. Men kin har ôffreegje wêrom't se sa'n tsjinst fergees oanbiede. It is in treflike manier foar har om in plak te krijen yn in soad (kommersjele) klantreizen en har algoritmen mei mear gegevens te fieden om minsken te profilearjen. It is wat om oer nei te tinken as do privacy en de GDPR- en cookiewetten wichtich fynst.

Alternatyf

Dêrom bin ik oan it wurk gien om in effektyf alternatyf foar CAPTCHA's te meitsjen foar de webformulieren dy't ik foar myn klanten bou. Myn oanpak is twafâldich:

  • ferbergje: de measte kwea-aardige partijen sykje nei mooglike doelen troch te sykjen nei de FORM-tag, dy't faak brûkt wurdt om webformulieren te bouwen. Myn formulieren hawwe gjin FORM-tag, mar brûke oare gewoane eleminten lykas DIV: in perfekte kamûflaazje. As se it net fine kinne, kinne se it net brekke.
  • fersterkje: myn webformulieren brûke in ekstra stap om misbrûk dêrfan dreger te automatisearjen. Ik neam it "in postsegel helje" foar it ferstjoeren.

Kryptografyske hantekening foar it ferstjoeren: de postsegel

Do moatst begripe dat kwea-aardige partijen ekonomysk tinke: se dogge allinnich safolle muoite as de mooglike opbringst it wurdich is. As do it har dreech genôch makket om dyn webformulier te misbrûken, is de kâns grut dat se fierder gean en it der by litte. Foardat ik útlis wat ik dien haw, moat ik dy warskôgje:

Disclaimer: Do moatst nei it doel fan dyn formulierbeskerming sjen, by my is dat it (sterk) fermindere fan it oantal spamberjochten, en tagelyk de brûkersfreonlikens bewarje. Dat lit my in systeem betinke dat net per se "absolút feilige" beskerming jout, mar as do kearngeheimen beskermje wolst, past dizze oanpak miskien net by dy. Hâld altyd rekken mei dyn bedrigingsmodel!

Om webformulieren te beskermjen haw ik in ekstra stap yntrodusearre dy't ik "in postsegel helje" neamd haw. De stappen fan it beskerme webformulier wurde dan sa:

  • ynformaasje ynfiere: Do fierst wat ynformaasje yn en dan klikst do op "VERSTJOER" (of wat dêrop liket) om troch te gean.
  • postsegel helje: Krekt foardat de eigentlike ynformaasje ferstjoerd wurdt, nimt dyn apparaat kontakt op mei de server om te freegjen om in kryptografysk token dat past by de skaaimerken fan de eigentlike ynformaasje en de ôfstjoerder. Dat bart yn in pear millisekonden, minsken fernimme it net. Sjoch it token as in postsegel, spesifyk foar it pakket dat do ferstjoerst en mar ien kear te brûken.
  • ynformaasje ferwurkje: De ynformaasje dy't do ynfierd hast, wurdt kombinearre mei it kryptografyske token en nei de server stjoerd. As it token jildich is, wurdt de ynformaasje as gewoanwei ferwurke. Tokens dy't net jildich binne wurde gewoan negearre, wat wichtich is om reverse engineering tige dreech te meitsjen, om't der gjin inkelde reaksje is (de server seit altyd "OK" :-) )!
Troch foar elk berjocht in unyk token yn te fieren dat mar ien kear brûkt wurde kin, wurdt it foar kwea-aardige partijen folle dreger om it ferstjoeren fan berjochten te automatisearjen: dyn formulier is beskerme tsjin spammers
Troch foar elk berjocht in unyk token yn te fieren dat mar ien kear brûkt wurde kin, wurdt it foar kwea-aardige partijen folle dreger om it ferstjoeren fan berjochten te automatisearjen: dyn formulier is beskerme tsjin spammers

Ik brûk dizze oanpak sûnt 2016 en de ferwurkjende servers hawwe letterlik miljoenen berjochten ôfhannele, mei ekstreem pear berjochten (<100) dy't spam wiene. By neiere besjen is it measte spam dat der trochhinne komt "hânwurk": miskien binne it kwea-aardige partijen dy't it meganisme ûndersykje. Om't it blykber te folle muoite is om it systeem te brekken, is it tige effektyf foar myn doel: it beskermjen fan de webformulieren.

Konklúzje

CAPTCHA's binne begryplik tige populêr, mar it is net altyd nedich om se op dyn webformulieren te setten as do alternativen yn de rekken hâldst. Myn advys is: meitsje it dreger foar kwea-aardige partijen en makliker foar dyn publyk!

← Mear ferhalen