Tagasi blogisse
Tehnoloogia Avaldatud 27.08.2026 Lugemisaeg 6 min

CAPTCHA on olemas – kuid ei kaitse midagi

Nähtav reCAPTCHA, hCaptcha või Turnstile'i vidin ütleb vähe selle kohta, kas vorm on kaitstud. Siin on tüüpilised valeseadistused ja see, kuidas oma vorme mõne minutiga kontrollida.

Paljud veebisaitide omanikud lisavad oma kontaktivormile CAPTCHA, näevad väikese märgi või märkeruudu ilmumist ja peavad rämpspostiprobleemi lahendatuks. Siis saabub praht edasi. Sageli on CAPTCHA ise korras – see lihtsalt ei ole ühendatud millegagi, mis suudaks robotit peatada. See postitus käsitleb tüüpilisi viise, kuidas reCAPTCHA, hCaptcha ja Cloudflare Turnstile muutuvad dekoratsiooniks, ja seda, kuidas oma vorme kontrollida.

Kus kaitse tegelikult toimub

Kõik kolm teenust töötavad samal põhimõttel. Brauseris olev skript teeb oma kontrollid ja annab vormile tokeni – lühikese stringi, mis ütleb „see külastaja läbis kontrolli“. Token liigub koos vormi saatmisega teie serverisse. Alles seal tehakse tegelik otsus: teie server saadab tokeni koos salajase võtmega teenusepakkujale ja saab tagasi vastuse – õnnestumine või ebaõnnestumine ning reCAPTCHA v3 puhul ka skoor. Kui selles ahelas puudub mõni lüli, näeb vidin endiselt täiesti tavaline välja, kuid robot, mis saadab andmed otse teie vormi töötlejale, pääseb otse läbi.

Ahel, millest CAPTCHA sõltub
1Skript laaditakse
Teenusepakkuja skript laaditakse ja see tohib vormilehel töötada.
2Token väljastatakse
Brauser saab lühiajalise tokeni, mida saab kasutada ainult üks kord.
3Token saadetakse
Token saadetakse serverisse koos vormiväljadega.
4Server kontrollib
Teie server kontrollib tokenit teenusepakkuja juures salajase võtmega.
5Server otsustab
Saatmine lükatakse tagasi, kui vastus ei ole positiivne (ja v3 puhul, kui skoor ei ole piisavalt kõrge).
Kaitse on olemas ainult siis, kui iga samm töötab – ja otsustavad sammud toimuvad serveris, silma eest varjatult.

Testvõti, mis laseb kõik läbi

Google, hCaptcha ja Cloudflare avaldavad spetsiaalsed testvõtmed, et arendajad saaksid teha automaattestimist ilma mõistatusi lahendamata. Sobiva testsaladusega õnnestub kontroll alati – see ongi nende ainus eesmärk. Need on mõeldud kohalikele ja testkeskkondadele, kuid jäävad regulaarselt alles ka tootmiskeskkonda üleminekul: arendaja kleebib need ehitamise ajal sisse, sait läheb avalikuks ja keegi ei vaheta neid välja. reCAPTCHA näitab vidinas vähemalt teadet, et see on mõeldud ainult testimiseks, kuid nähtamatu seadistuse puhul vaatab sinna vaevalt keegi. Kui nii testsaidivõti kui ka testsaladus on kasutusel, läbib iga saatmine kontrolli, olgu see pärit inimeselt või robotilt; kui ainult saidivõti on testvõti, siis kontroll hoopis ebaõnnestub ja päris sõnumid võidakse tagasi lükata.

Token, mida keegi ei kontrolli

Teine klassika on server, mis teenusepakkujalt kunagi ei küsi. Vidin töötab, token luuakse ja saadetakse ning seejärel vormi töötleja lihtsalt eirab seda. Tüüpilised allikad on käsitsi kirjutatud vormid, kopeeritud koodilõigud, mis katavad ainult brauseripoolse osa, ja poolikud pistikprogrammi seaded. Lähedane sugulane: server küll kutsub kontrolliteenuse välja, kuid kontrollib ainult seda, et päring õnnestus, mitte seda, mida vastus ütleb. Või on reCAPTCHA v3 skoorilävi seatud väärtusele 0, mis aktsepteerib iga skoori, mida teenus saab tagastada. Mõned töötlejad ka „avanevad rikke korral“: kui token puudub või kontroll ebaõnnestub, võtavad nad sõnumi ikkagi vastu – ja robot jätab tokeni lihtsalt välja.

Kui vidin kunagi päriselt ei laadi

Teised valeseadistused rikuvad hoopis brauseripoolse osa. Kui saidivõti ei ole domeeni jaoks registreeritud – tüüpiline pärast testkeskkonnast tootmisse kolimist, domeeni vahetust või uut alamdomeeni –, keeldub teenusepakkuja tokeneid väljastamast ja näitab viga vidinas või brauseri konsoolis. Pärast teema vahetust või pistikprogrammi uuendust võib vidina märgistus lehel alles olla, samal ajal kui skript, mis selle ellu äratab, on kadunud. Küpsiste nõusoleku tööriist võib avaldada sama mõju, kui see blokeerib CAPTCHA skripti, kuni külastaja nõustub. Mis edasi juhtub, sõltub serverist: kui see nõuab kehtivat tokenit, ei saa päris külastajad enam sõnumeid saata ja keegi ei märka kaotatud päringuid; kui ei nõua, pääsevad robotid vabalt läbi.

Kaks juhtumit veel on kerge märkamata jätta. reCAPTCHA v3 puhul näitab nurgas olev märk ainult seda, et skript on kuskil lehel laaditud – võib-olla teema või mõne teise pistikprogrammi poolt –, samal ajal kui vormipistikprogrammi enda integratsioon on välja lülitatud. Ja vahemälu pistikprogrammid võivad salvestada lehe koos HTML-i manustatud tokeniga. CAPTCHA tokenid kehtivad ainult mõne minuti ja neid saab kontrollida ainult üks kord, seega ebaõnnestub vahemällu salvestatud token päris külastajate puhul; ahvatlev „parandus“ lülitada kontroll välja eemaldab vaikselt kaitse.

Välimus versus tegelikkus
Mida te näete
  • Vidin näitab teadet „ainult testimiseks“
  • v3 märk on nurgas
  • Vidin kuvatakse ja tagastab tokeni
  • Rämpspost on lõppenud – kuid nii ka päris päringud
Mis võib toimuda
  • Kasutusel on avalikud testvõtmed ja iga kontroll õnnestub
  • Vormipistikprogrammi reCAPTCHA integratsioon on välja lülitatud
  • Server ei saada tokenit kunagi kontrollimiseks või eirab tulemust
  • Saidivõti ei ole domeeni jaoks registreeritud või vahemällu salvestatud tokenid on aegunud

Lühike enesekontroll

  1. 1Avage vormileht privaatses aknas, avage brauseri arendajatööriistad ja otsige konsoolist CAPTCHA skripti vigu.
  2. 2Kontrollige, et vidin tegelikult ilmub – üks kord enne ja üks kord pärast küpsisebänneriga nõustumist – ja et vormi ei saa saata, kui see puudub.
  3. 3Kontrollige teenusepakkuja halduskonsoolis, et saidivõtme juures on loetletud teie avalik domeen (koos variantidega, nagu www) ja et teie vormipistikprogrammi või koodi võtmed vastavad sellele – mitte dokumentatsioonist või testkeskkonnast pärit võtmed.
  4. 4Veenduge vormipistikprogrammi seadetes, et CAPTCHA integratsioon on just selle vormi jaoks lubatud; reCAPTCHA v3 puhul kontrollige, et skoorilävi on üle 0.
  5. 5Kui teil on juurdepääs koodile, leidke serveripoolne kontroll ja veenduge, et see lükkab saatmise tagasi, kui vastus on negatiivne või token puudub.
  6. 6Jätke vormileht täislehe vahemälust välja või veenduge, et token luuakse brauseris iga kord uuesti.
  7. 7Saatke päris testsõnum ja kontrollige, et see jõuab kohale; korrake kontrolli pärast teema, pistikprogrammide või nõusolekutööriista muutmist.
Mida väline kontroll näeb ja mida mitte
Testvõtmed, vidina märgistus ilma skriptita, konsoolivead ja blokeeritud skriptid on väljastpoolt nähtavad – tasuta kontroll saidil formexposed.com otsib just neid signaale ilma midagi saatmata. Seda, kas teie server tõesti tokenit kontrollib, lehelt näha ei ole; see selgub ainult teie serveri koodist või päris saatmisest.

CAPTCHA on üks kiht, mitte kogu kaitse. Koos meepotiväljaga, ajakontrolli ja serveripoolse filtreerimisega ei jäta valeseadistus ühes kohas vormi pärani lahti. Kui soovite kiiret ülevaadet oma vormide seisust, sisestage oma domeen saidil formexposed.com – aruanne näitab, kas teie CAPTCHA seadistuse väljastpoolt nähtavad osad on korras.