Hvað verndar eyðublað í raun: CAPTCHA, gildrureitur, tímagildra, CSRF
Flest tengiliðaeyðublöð treysta á eitt bragð gegn ruslpósti og mörg þeirra stöðva aðeins einföldustu botana. Hvað hvert varnarlag stöðvar, hvað það kostar og hvaða samsetning er skynsamleg.
Ruslpóstur í gegnum tengiliðaeyðublöð kemur sjaldan frá manneskju sem skrifar í höndunum. Yfirleitt er það hugbúnaður sem finnur eyðublöð, fyllir út alla reiti og sendir niðurstöðuna — þúsundum sinnum. Ýmsar varnir eru til og þær virka á mjög ólíkum stöðum. Að vita hvað hver þeirra gerir í raun hjálpar þér að forðast tvenns konar mistök: eyðublað án raunverulegrar varnar og eyðublað sem er svo þungt varið að raunverulegt fólk gefst upp.
- Gildrureitur: einfaldir botar sem fylla út alla reiti
- Tímagildra: forritabútar sem senda samstundis eftir hleðslu
- CAPTCHA: flestar gerðir almennrar sjálfvirkni
- CSRF-auðkenni: beiðnir sendar beint á endapunktinn
- Tíðnitakmörkun: sendingaflóð frá einum aðila
- Vinnusönnun: ódýrar fjöldasendingar, án rakningar eða þrauta
- Athuganir á þjóni: allt sem fer fram hjá vafranum
- Markvissir botar sleppa honum; sé hann illa falinn tilkynna skjálesarar hann
- Botar sem bíða; án undirskriftar á þjóni er auðvelt að falsa hana
- Hindrun fyrir alla, aðgengishindranir, oft þriðji aðili; til eru lausnaþjónustur
- Botar sem hlaða síðuna fyrst fá líka gilt auðkenni
- Ruslpóstur dreifður yfir mörg IP-netföng
- Ákveðinn sendandi með reiknigetu; þarf JavaScript
- Ekkert einar og sér — en án þeirra eru öll önnur lög skraut
Gildrureitur og tímagildra: ósýnilegar síur
Gildrureitur er aukareitur sem fólk sér aldrei, til dæmis reitur sem heitir „website“ og er falinn með CSS. Einfaldir botar fylla út alla reiti, svo útfylltur gildrureitur bendir til sjálfvirkni og þjónninn getur hent skilaboðunum hljóðlega. Botar sem eru skrifaðir sérstaklega fyrir vefsvæðið þitt eða birta síðuna eins og vafri sleppa honum. Feldu hann rétt: reitur sem er aðeins færður út fyrir skjáinn getur verið lesinn upp af skjálesurum, náðst með Tab-lyklinum eða fyllst með sjálfvirkri útfyllingu. Notaðu aria-hidden, tabindex -1 og autocomplete off, ásamt hlutlausu heiti sem biður hvern þann sem lendir þar að skilja reitinn eftir tóman.
Tímagildra skráir hvenær eyðublaðið var afhent og hafnar innsendingum sem berast ótrúlega hratt. Fólk þarf nokkrar sekúndur til að lesa og skrifa; margir forritabútar senda á sekúndubroti. Tímamerkið verður að athuga á þjóni og verja gegn fölsun, til dæmis með undirritun eða varðveislu í lotu — boti endurskrifar einfaldlega venjulegan falinn tímareit. Hafðu þröskuldinn lágan því sjálfvirk útfylling gerir raunverulegt fólk líka fljótt. Botar sem bíða einfaldlega komast í gegn: tímagildra er sía, ekki veggur.
CAPTCHA: áhrifaríkt en ekki ókeypis
CAPTCHA krefst sönnunar á því að boti sé ekki að verki — allt frá myndaþrautum til athugana sem keyra í bakgrunni; algengar þjónustur eru reCAPTCHA, hCaptcha, Cloudflare Turnstile og Friendly Captcha. Það stöðvar flestar gerðir almennrar sjálfvirkni og þess vegna er það svo vinsælt. En hver sýnileg þraut er hindrun sem fær suma gesti til að gefast upp og flestar þjónustur hlaða forritabút frá þriðja aðila sem vekur spurningar um persónuvernd og samþykki. CAPTCHA hjálpar líka aðeins ef það er rétt sett upp: opinber prófunarveflykill, viðmótseining án forritabútsins síns eða auðkenni sem þjónninn sannprófar aldrei lítur út eins og vörn en er það ekki. Ókeypis athugun á formexposed.com bendir á slíkar villur utan frá.
Aðgengi er hluti af þessum kostnaði. Myndaþrautir útiloka blint fólk og margt fólk með skerta sjón, hljóðvalkostir hjálpa ekki daufblindum og flókin rökhugsunarverkefni leggja byrðar á fólk með vitrænar skerðingar. Árangursviðmið 1.1.1 í WCAG 2.2 krefst textavalkosts sem lýsir tilgangi CAPTCHA og annarra forma fyrir mismunandi skynfæri. Bakgrunnsathuganir forðast flest af þessu, en þegar þær telja eitthvað grunsamlegt er varaleiðin oft aftur sjónræn þraut — prófaðu þá leið með lyklaborði og skjálesara.
CSRF-auðkenni: vörn gegn fölsun, ekki ruslpósti
CSRF-auðkenni er slembigildi sem þjónninn setur í eyðublaðið og býst við að fá til baka. Það var hannað gegn fölsun beiðna milli vefsvæða, þar sem annað vefsvæði lætur vafra gests senda beiðni sem gesturinn ætlaði sér aldrei að senda. Á opinberu tengiliðaeyðublaði hefur það hliðaráhrif: botum sem senda beint á vistfang eyðublaðsins án þess að hlaða síðuna er hafnað. Sérhver boti sem sækir síðuna og sendir auðkennið til baka kemst í gegn. Flestir forritunarrammar og flestar eyðublaðsviðbætur hafa hvort sem er CSRF-auðkenni — hafðu þau virk en teldu þau ekki ruslpóstvörn.
Hvað verður að gerast á þjóninum
- Sannprófaðu alla reiti aftur á þjóninum: skyldureiti, lengd, snið netfangs og að engin línuskipti séu í reitum sem enda í pósthausum.
- Sannprófaðu CAPTCHA- og vinnusönnunarauðkenni við hverja innsendingu, hjá útgáfuþjónustunni eða í þínum eigin kóða, og hafnaðu auðkennum sem eru notuð aftur.
- Takmarkaðu innsendingar eftir IP-netfangi og tímabili. Það stöðvar sendingaflóð frá einum aðila; ruslpóstur sem dreifist á mörg IP-netföng þarf önnur varnarlög.
- Íhugaðu vinnusönnun: áður en sent er leysir vafrinn lítið útreikningsverkefni. Gestir sjá enga þraut og ekkert er rakið, en fjöldasendingar verða kostnaðarsamar.
Skynsamleg samsetning: tvö eða þrjú lög
- 1Byrjaðu á ósýnilegu lögunum: aðgengilegum gildrureit og undirritaðri tímagildru, hvort tveggja athugað á þjóninum.
- 2Bættu við tíðnitakmörkun eftir IP-netfangi svo einn aðili geti ekki yfirhlaðið eyðublaðið með sendingum.
- 3Ef markviss ruslpóstur kemst enn í gegn skaltu bæta við vinnusönnun eða CAPTCHA — helst án sýnilegrar þrautar og með aðgengilegum valkosti.
- 4Haltu CSRF-auðkenninu sem forritunarramminn þinn veitir — sem viðbót, ekki sem vörn.
- 5Prófaðu niðurstöðuna eins og gestur — aðeins með lyklaborði, með skjálesara, í síma — og athugaðu að raunveruleg skilaboð berist enn.
Á mörgum vefsvæðum fjarlægja gildrureitur, tímagildra og tíðnitakmörkun saman þegar mestan almennan ruslpóst án sýnilegrar hindrunar; CAPTCHA er varaleiðin þegar það dugir ekki. Á WordPress sameinar ókeypis formexposed-viðbótin gildrureit, tímaathugun og vinnusönnun án þess að þurfa Google. Til að sjá hvað eyðublaðið þitt sýnir utan frá — hvaða lög eru til staðar og hvort CAPTCHA sé rétt stillt — þarf ókeypis athugun á formexposed.com aðeins lén, engan aðgang. Hún sér ekki kóða þjónsins þíns, svo sá hluti er áfram á þína ábyrgð.