Nazad na blog
Razvoj Objavljeno 27.08.2026 6 min čitanja

CAPTCHA postoji — ali ništa ne štiti

Vidljiv reCAPTCHA, hCaptcha ili Turnstile vidžet malo govori o tome da li je obrazac zaštićen. Ovo su tipične pogrešne postavke i način da proverite svoje obrasce za nekoliko minuta.

Mnogi vlasnici sajtova dodaju CAPTCHA kontakt obrascu, vide malu oznaku ili polje za potvrdu i smatraju problem neželjenih poruka rešenim. Onda smeće nastavlja da stiže. Često je sam CAPTCHA ispravan — samo nije povezan ni sa čim što bi moglo zaustaviti bota. Ovaj članak prolazi kroz tipične načine na koje reCAPTCHA, hCaptcha i Cloudflare Turnstile postaju ukras i kroz proveru sopstvenih obrazaca.

Gde se zaštita zaista dešava

Sve tri usluge rade po istom principu. Skripta u pregledaču obavlja provere i predaje obrascu token — kratak niz znakova koji kaže „ovaj posetilac je prošao“. Token putuje sa poslatim obrascem do Vašeg servera. Tek tu se donosi stvarna odluka: Vaš server šalje token sa tajnim ključem pružaocu usluge i dobija odgovor — uspeh ili neuspeh, a za reCAPTCHA v3 i ocenu. Ako bilo koja karika u ovom lancu nedostaje, vidžet i dalje izgleda sasvim normalno, ali bot koji šalje direktno obrađivaču obrasca prolazi bez prepreke.

Lanac od koga CAPTCHA zavisi
1Skripta se učitava
Skripta pružaoca usluge je učitana i dozvoljeno joj je izvršavanje na stranici obrasca.
2Token se izdaje
Pregledač dobija kratkotrajan token koji se može upotrebiti samo jednom.
3Token se šalje
Token se šalje serveru zajedno sa poljima obrasca.
4Server proverava
Vaš server proverava token kod pružaoca usluge koristeći tajni ključ.
5Server odlučuje
Slanje se odbija ako odgovor nije pozitivan ili, za v3, ako ocena nije dovoljno visoka.
Zaštita postoji samo ako svaki korak radi — a odlučujući se dešavaju na serveru, van vidokruga.

Probni ključ koji sve propušta

Google, hCaptcha i Cloudflare objavljuju posebne probne ključeve kako bi programeri mogli da pokreću automatizovane testove bez rešavanja zagonetki. Uz odgovarajući probni tajni ključ, provera je uvek uspešna — to im je cela svrha. Namenjeni su lokalnim i probnim okruženjima, ali redovno ostaju pri prelasku u produkciju: programer ih nalepi tokom izrade, sajt se objavi i niko ih ne zameni. reCAPTCHA makar prikazuje u vidžetu obaveštenje da je samo za testiranje, ali kod nevidljive postavke gotovo niko ne gleda. Ako su i probni ključ sajta i probni tajni ključ aktivni u produkciji, svako slanje prolazi, bilo da dolazi od čoveka ili bota; ako je samo ključ sajta probni, provera umesto toga ne uspeva i stvarne poruke mogu biti odbijene.

Token koji niko ne proverava

Drugi klasičan slučaj je server koji nikada ne pita pružaoca usluge. Vidžet radi, token se kreira i pošalje, a zatim ga obrađivač obrasca jednostavno ignoriše. Tipični izvori su ručno pisani obrasci, kopirani delovi koda koji pokrivaju samo deo u pregledaču i nedovršena podešavanja dodataka. Blizak slučaj: server poziva uslugu za proveru, ali proverava samo da li je zahtev prošao, a ne šta odgovor kaže. Ili je prag ocene za reCAPTCHA v3 postavljen na 0, čime se prihvata svaka ocena koju usluga može vratiti. Neki obrađivači i „propuštaju pri grešci“: ako token nedostaje ili provera ne uspe, ipak prihvataju poruku — pa bot jednostavno izostavi token.

Kada se vidžet nikada zaista ne učita

Druge pogrešne postavke kvare deo u pregledaču. Ako ključ sajta nije registrovan za domen — tipično nakon prelaska iz probnog okruženja u produkciju, promene domena ili novog poddomena — pružalac odbija da izdaje tokene i prikazuje grešku u vidžetu ili konzoli pregledača. Posle promene teme ili ažuriranja dodatka, oznake vidžeta mogu ostati na stranici dok skripta koja ga pokreće nestane. Alat za pristanak na kolačiće može imati isti efekat ako blokira CAPTCHA skriptu dok posetilac ne pristane. Šta se zatim dešava zavisi od servera: ako insistira na važećem tokenu, stvarni posetioci više ne mogu slati poruke i niko ne primećuje izgubljene upite; ako ne insistira, botovi slobodno prolaze.

Još dva slučaja lako promaknu. Kod reCAPTCHA v3, oznaka u uglu pokazuje samo da je skripta negde na stranici učitana — možda preko teme ili drugog dodatka — dok je integracija u samom dodatku za obrazac isključena. Dodaci za keširanje mogu čuvati stranicu zajedno sa tokenom ugrađenim u HTML. CAPTCHA tokeni važe samo nekoliko minuta i mogu se proveriti samo jednom, pa keširani token ne radi za stvarne posetioce; primamljiva „popravka“ isključivanjem provere tiho uklanja zaštitu.

Izgled naspram stvarnosti
Šta vidite
  • Vidžet prikazuje obaveštenje „for testing purposes only“
  • Oznaka v3 stoji u uglu
  • Vidžet se prikazuje i vraća token
  • Neželjene poruke su prestale — ali i stvarni upiti
Šta se možda dešava
  • Koriste se javni probni ključevi i svaka provera uspeva
  • reCAPTCHA integracija dodatka za obrazac je isključena
  • Server nikada ne šalje token na proveru ili ignoriše rezultat
  • Ključ sajta nije registrovan za domen ili su keširani tokeni istekli

Kratka samoprovera

  1. 1Otvorite stranicu obrasca u privatnom prozoru, otvorite razvojne alatke pregledača i potražite u konzoli greške CAPTCHA skripte.
  2. 2Proverite da li se vidžet zaista pojavljuje — jednom pre i jednom posle prihvatanja banera za kolačiće — i da obrazac ne može biti poslat dok vidžet nedostaje.
  3. 3U administratorskoj konzoli pružaoca usluge proverite da ključ sajta navodi Vaš aktivni domen (uključujući varijante poput www) i da mu ključevi u dodatku za obrazac ili kodu odgovaraju — a ne da su ključevi iz dokumentacije ili probne postavke.
  4. 4U podešavanjima dodatka za obrazac proverite da je CAPTCHA integracija uključena za ovaj konkretan obrazac; za reCAPTCHA v3 proverite da je prag ocene iznad 0.
  5. 5Ako imate pristup kodu, pronađite proveru na serveru i proverite da odbija slanje kada je odgovor negativan ili token nedostaje.
  6. 6Izuzmite stranicu obrasca iz keširanja cele stranice ili obezbedite da se u pregledaču kreira nov token.
  7. 7Pošaljite stvarnu probnu poruku i proverite da li stiže; ponovite proveru nakon promena teme, dodataka ili alata za pristanak.
Šta spoljna provera može, a šta ne može da vidi
Probni ključevi, oznake vidžeta bez skripte, greške konzole i blokirane skripte vidljivi su spolja — besplatna provera na formexposed.com traži upravo te signale bez slanja bilo čega. Da li Vaš server zaista proverava token nije vidljivo na stranici; to se vidi samo u kodu servera ili pri stvarnom slanju.

CAPTCHA je jedan sloj, ne cela zaštita. U kombinaciji sa poljem zamkom, vremenskom proverom i filtriranjem na serveru, pogrešna postavka na jednom mestu ne ostavlja obrazac širom otvorenim. Ako želite brzu sliku stanja svojih obrazaca, unesite domen na formexposed.com — izveštaj pokazuje da li su spolja vidljivi delovi Vaše CAPTCHA postavke u redu.