Čo je Google reCAPTCHA, ako funguje a ako ju nastaviť na webe
Spam z formulárov, automatizované registrácie či objednávky od botov dokážu veľmi znepríjemniť správu webu aj celkom rýchlo zahltiť váš systém. Google reCAPTCHA pomáha odlíšiť legitímnych návštevníkov od automatizovanej aktivity, a to už aj bez toho, aby používateľ musel riešiť klasickú CAPTCHA. V článku si vysvetlíme, ako funguje, aké verzie existujú a ako ju nastaviť na rôznych typoch webov.
Potrebujete efektívnu ochranu formulárov pred spamom?
Nastavíme reCAPTCHA a doplníme ho o ďalšie vrstvy ochrany pre komplexné a dlhodobé zabezpečenie vašej webstránky.
Čo je Google reCAPTCHA?
Google reCAPTCHA je systém, ktorý chráni webstránku pred automatizovaným spamom a inou nechcenou aktivitou zo strany botov. Najčastejšie sa používa pri kontaktných formulároch, registráciách, prihlasovaní a podobne, kde môžu boti automatizovane zahlcovať vašu webstránku spamom alebo podvodmi. Úlohou reCAPTCHA je posúdiť, či požiadavka pochádza od skutočného používateľa alebo predstavuje rizikovú automatizovanú aktivitu.
reCAPTCHA si väčšina internetu spája so známym kvízom „Nie som robot“, pričom to už niekoľko rokov tak nie je. Google podporuje aj riešenia, ktoré návštevníka nevyrušujú a namiesto manuálneho overenia vyhodnocujú požiadavky úplne bez jeho vedomia.
Tradičné názvy ako reCAPTCHA v2 a reCAPTCHA v3 sa stále bežne používajú, ale Google Cloud dnes jednotlivé možnosti označuje skôr podľa spôsobu overovania, napríklad checkbox alebo score-based.
V priebehu roku 2026 Google začlenil reCAPTCHA do širšej platformy Google Cloud Fraud Defense, ktorá rieši aj ďalšie formy automatizovaného zneužívania a podvodných aktivít. Pre bežného majiteľa webu však môžeme naďalej používať zaužívaný názov Google reCAPTCHA – ťažko sa od toho odvyká :).
Ako reCAPTCHA funguje a chráni web pred spamom?
Princíp, ako funguje reCAPTCHA je v praxi pomerne jednoduchý. Keď návštevník vykoná akciu, napríklad odošle kontaktný formulár, reCAPTCHA vyhodnotí signály súvisiace s danou požiadavkou a vytvorí token. Ten web odošle na serverové overenie a podľa výsledku môže požiadavku prijať, zablokovať alebo s ňou naložiť opatrnejšie.
Pri moderných typoch overenia reCAPTCHA celý tento proces prebieha na pozadí bez toho, aby návštevník musel klikať na obrázky alebo potvrdzovať, že nie je robot.
Moderné reCAPTCHA funguje funguje takto:
- Bežný užívateľ – systém vyhodnotí, že ide o človeka a užívateľ si nič nevšimne.
- Robot – systém vyhodnotí, že ide o automatizovanú aktivitu (bota) a túto informáciu zahrnie už v spomínanom tokene. Keď sa požiadavka formulára spracúva na serveri (odoslanie potvrdzujúceho mailu, zápis do databázy apod.), server vie, že ide o bota a tak nespraví nič.
Overenie na serveri je v tomto prípade veľmi dôležité. Ak nie je správne implementované, reCAPTCHA stráca zmysel spamové maily vám môžu chodiť rovnako ako pred tým, ako ste ochranu implementovali.
reCAPTCHA vnímame ako veľmi dôležitý nástroj ochrany proti spamu, ale spôsob ochrany je viac a je dobrou praxou na web zapracovať viac než jednu. Viac sa dočítate v inom článku, kde píšeme o komplexnej ochrane proti spamu z formulárov.
Aké verzie Google reCAPTCHA existujú?
Pri nastavovaní reCAPTCHA sa môžete stretnúť s dvoma spôsobmi pomenovania. Staršie návody, WordPress pluginy a ďalšie CMS bežne používajú označenia reCAPTCHA v2, Invisible v2 a reCAPTCHA v3. V aktuálnom Google Cloud rozhraní sa namiesto verzií používajú názvy podľa spôsobu fungovania, napríklad Website – score alebo Website – checkbox.
reCAPTCHA v2 / Checkbox
Ide o klasickú reCAPTCHA spájanú s políčkom „Nie som robot“. Používateľ naňho musí kliknúť a môže dostať aj dodatočnú CAPTCHA úlohu, napríklad výber určitých objektov z obrázkov – na ktorých obrázkoch sa nachádza autobus apod. Google dnes tento typ označuje ako Website – checkbox.
reCAPTCHA v2 checkbox po a pred overením užívateľa.
Invisible reCAPTCHA v2
Invisible reCAPTCHA v2 je starší variant, pri ktorom používateľ nemusí klikať na klasický checkbox. Na základe vyhodnotenia rizika však môže byť v prípade potreby vyzvaný na vyriešenie CAPTCHA. V Google Cloud Console už nie je možné vytvárať nové API kľúče typu Invisible v2 a Google pri nových implementáciách smeruje používateľov k súčasným typom ochrany.
Poznámka
Ak používate Invisible reCAPTCHA v2, neprestane vám v dohľadnej dobe fungovať, aj keď určite odporúčame prejsť na novšiu verziu. Avšak ak by ste tento typ ochrany chceli dnes implementovať ako nové riešenie, už to nie je možné.
Príklad klasickej obrázkovej reCAPTACHA výzvy.
reCAPTCHA v3 / score-based ochrana
reCAPTCHA v3 funguje bez klasickej výzvy pre používateľa. Namiesto nej vyhodnotí interakciu a priradí jej skóre, ktoré hovorí, aké je riziko, že ide o robota.
Web potom podľa tohto výsledku rozhodne, či požiadavku spracuje normálne, podrobí ďalšej kontrole alebo ju odmietne. V aktuálnej terminológii Google Cloud zodpovedá tomuto princípu typ Website – score, ktorý Google odporúča ako preferovanú možnosť pre webové implementácie.
Novšia terminológia a zmeny
Google Cloud dnes pri weboch rozlišuje najmä typy score-based, checkbox a policy-based challenge. Posledný typ (policy-based) je hybridný – zobrazí CAPTCHA výzvu podľa vopred nastaveného prahu rizika.
Preto sa môžete v aktuálnej dokumentácii stretnúť s inými názvami než vo svojom WordPress plugine alebo staršom návode. Neznamená to však, že pojmy v2 a v3 zo dňa na deň prestali existovať. Google ich naďalej uvádza, ale už ako staršiu terminológiu.
Ktorú verziu reCAPTCHA zvoliť?
Pri novej implementácii reCAPTCHA na web by sme ako východiskové riešenie zvolili score-based variant, ktorý nadväzuje na známu reCAPTCHA v3. Google ho aktuálne uvádza ako odporúčaný typ pre weby.
Jeho výhodou je, že návštevníka neprerušuje žiadnou úlohou ani checkboxom. reCAPTCHA namiesto toho vyhodnotí požiadavku na pozadí a vráti skóre, podľa ktorého môže web zvoliť primeranú reakciu, napríklad požiadavku povoliť, odmietnuť/zastaviť alebo podrobiť ďalšej kontrole.
Pri WordPress pluginoch alebo platformách je situácia trochu iná. Nie vždy si môžete ľubovoľne zvoliť typ reCAPTCHA, preto je potrebné si najprv overiť, ktorú verziu konkrétny plugin alebo platforma oficiálne podporuje. Ak napríklad plugin na formuláre podporuje iba reCAPTCHA v2, inú verziu nenainštalujete.
Zjednodušene
Pri novom riešení, prípadne úpravy riešenia na mieru začnite score-based variantom. Ak ste viazaní na plugin či platformu, použite typ reCAPTCHA, ktorý dané riešenie oficiálne podporuje.
Kde a ako získať Google reCAPTCHA kľúče?
Ďalším krokom je vytvorenie reCAPTCHA kľúča. Ten prepojí vašu webstránku so službou reCAPTCHA a umožní jej vyhodnocovať požiadavky návštevníkov. V niektorých návodoch a integráciách sa môžete stretnúť aj s pojmom site key.
Najjednoduchšie ho vytvoríte cez Google Cloud Fraud Defense Admin console, prípadne cez Google Cloud Console. Pri vytváraní zadáte názov, podľa ktorého kľúč rozpoznáte, vyberiete typ ochrany, napríklad Score based (v3) alebo Challenge (v2), a pridáte doménu svojho webu. Následne nastavenie odošlete a Google vytvorí kľúč, ktorý sa použije pri integrácii. Pre podrobnejšie inštrukcie môžete nasledovať oficiálny návod od Googlu.
Dobrou praxou je vytvoriť samostatný kľúč pre každý web a oddeliť tak produkčné a testovacie prostredie. Testovacia prevádzka sa tak nebude miešať s reálnymi dátami, podľa ktorých reCAPTCHA vyhodnocuje riziko.
Pri WordPress pluginoch sa môžete stále stretnúť so staršími pojmami site key a secret key. Site key zodpovedá ID reCAPTCHA kľúča, zatiaľ čo niektoré staršie alebo integrácie tretích strán vyžadujú aj tzv. legacy secret key. Kam ich následne vložiť a ktorý typ kľúča použiť, už závisí od konkrétneho pluginu alebo technológie webu.
Tip
reCAPTCHA kľúč vytvárajte až vtedy, keď už viete, ktorý typ ochrany chcete použiť. Vyhnete sa tak situáciam, keď plugin nebude akceptovať váš kľúč alebo vám developer oznámi, že potrebuje iný typ.
Ako nastaviť reCAPTCHA podľa typu webstránky?
Postup implementácie závisí od technológie webu, princíp je však podobný:
- Vytvorenie reCAPTCHA kľúča
- Prepojenie s doménou
- Integrácia na webe
- Serverové overenie
- Testovanie
Pri vytváraní kľúča sa určí typ ochrany a doména, na ktorej sa má používať. Samotný kľúč však web ešte nechráni. Musí sa následne korektne integrovať do formulára a celého procesu jeho spracovania na serveri.
WordPress s formulárovým pluginom
Ak používate WordPress, najskôr zistite, cez čo je formulár vytvorený. Môže ísť napríklad o Contact Form 7, WPForms, Elementor Forms, Gravity Forms alebo iný plugin. Následne si v jeho aktuálnej dokumentácii overte, či podporuje Google reCAPTCHA a aký typ kľúča vyžaduje.
V prípade, že plugin podporuje reCAPTCHA (veľmi pravdepodobné), netreba nič programovať. Stačí vytvoriť príslušné reCAPTCHA kľúče a vložiť ich do nastavení pluginu. Presný postup sa však medzi pluginmi líši, preto neexistuje jeden univerzálny návod pre celý WordPress. Ak neviete nájsť vo vašom plugine nastavenia, kontaktujte podporu alebo dohľadajte oficiálnu dokumentáciu pluginu.
Jednoduchý checklist:
- Zistite, aký typ reCAPTCHA plugin podporuje
- Vytvorte kľúče
- Vložte ich do nastavení pluginu
WordPress s formulárom naprogramovaným na mieru
Ak formulár vytvoril developer na mieru, samotné vloženie reCAPTCHA kľúča nestačí. Pravdepodobne ani neexistujú nastavenia, kde by ste mohli kľúč vložiť.
Formulár treba rozšíriť tak, aby integrácia zabezpečovala získanie tokenu pri akcii užívateľa, jeho odoslanie spolu s údajmi formulára a následné overenie na serveri. Web potom podľa výsledku rozhodne, či požiadavku prijme alebo odmietne. Kontaktujte svojho developera, pravdepodobne bude vedieť, čo má robiť.
Ak nemáte developera, obráťte sa na nás a pomôžeme vám správne implementovať reCAPTCHA, skontrolovať existujúcu implementáciu, prípadne doladíme aj širšiu ochranu webstránky.
Shopify
Pri Shopify je situácia odlišná. Platforma má na natívnych formulároch hCaptcha, ktorá je štandardne aktivovaná a chráni napríklad kontaktné formuláre, komentáre, prihlásenie či vytvorenie účtu.
Pre bežný Shopify e-shop preto spravidla nie je potrebné pridávať Google reCAPTCHA manuálne. Shopify dokonca upozorňuje, že ďalšia CAPTCHA pridaná vlastným kódom alebo aplikáciou môže s hCaptcha kolidovať.
Výnimkou môžu byť vlastné formuláre, aplikácie alebo riešenia mimo štandardného Shopify prostredia. Tam už treba spôsob ochrany posúdiť podľa konkrétnej implementácie.
Wix
Aj Wix rieši ochranu formulárov prevažne priamo v platforme. Nové Wix Forms majú integrované spam filtre a môžu používať neviditeľnú reCAPTCHA, ktorá vyhodnocuje správanie návštevníka a výzvu zobrazí až pri podozrivej aktivite.
Úroveň ochrany sa nastavuje priamo v administratívnom rozhraní platformy, takže používateľ bežne nemusí vytvárať vlastné API kľúče ani riešiť serverové overovanie.
Web na mieru s vlastným kódom
Pri webe na mieru musí developer zabezpečiť celý proces integrácie, teda:
- vytvoriť vhodný reCAPTCHA kľúč a priradiť ho k doméne,
- integrovať reCAPTCHA na frontend (časť, ktorá sa načítava v prehliadači),
- pri spracovaní formulára získať token,
- odoslať ho spolu s dátami na server,
- výsledok na serveri overiť a
- podľa výsledku požiadavku prijať, obmedziť alebo zamietnuť.
Frontendová integrácia a backendové vyhodnotenie tvoria dve samostatné časti nasadenia.
Pri riešení postavenom úplne na mieru (vlastné CMS/žiadne CMS) odporúčame implementáciu zveriť do rúk developera. Ak nemáte žiadneho dodávateľa, radi vám pomôžeme s reCAPTCHA, ale aj komplexnejším zabezpečením webstránky.
Ako overiť, že reCAPTCHA funguje správne?
Po nastavení reCAPTCHA najskôr otestujte formulár ako bežný návštevník. Odošlite niekoľko legitímnych správ, registrácii či objednávok a skontrolujte, či formulár funguje bez problémov.
Následne sa pozrite do administrácie reCAPTCHA alebo Google Cloud Fraud Defense a overte, či systém zaznamenáva požiadavky z vášho webu. Pri score-based ochrane sledujte aj pridelené skóre a podľa reálnej návštevnosti postupne nastavte hranice, pri ktorých má web požiadavku prijať, dodatočne preveriť alebo zablokovať. Google odporúča rozhodovať o thresholdoch (hraniciach) až podľa skutočných dát, pretože výsledky krátko po nasadení alebo v testovacom prostredí sa môžu líšiť.
Ak používate WordPress plugin, skontrolujte aj jeho nastavenia a ak ich poskytuje, aj dostupné logy alebo chybové hlásenia.
Dôležité
Samotný reCAPTCHA badge alebo checkbox ešte nedokazuje, že ochrana funguje správne. Overovanie je komplexnejšie a preto sa treba ubezpečiť, že každý krok bol korektne implementovaný.
Záver
Správny spôsob nasadenia Google reCAPTCHA závisí od technológie, na ktorej beží váš web. Najskôr si preto overte, cez čo je formulár vytvorený a či váš CMS alebo platforma už nemá ochranu zabudovanú.
Ak máte formulár alebo web naprogramovaný na mieru, prípadne si nie ste istí, či je reCAPTCHA správne nastavená a overovaná, kontaktujte nás a radi vám s tým pomôžeme. Ak chcete ochranu formulárov riešiť komplexnejšie, pozrite si aj náš článok, ktorý predstavujte aj ďalšie možnosti ochrany.
Často kladené otázky o Google reCAPTCHA
Google reCAPTCHA má bezplatné používanie do určitého objemu požiadaviek. Väčšie weby sa už môžu stretnúť s limitmi a spoplatnením. Bežný firemný web alebo e-shop sa s limitmi v praxi nikdy nestretne.
Áno, na každom verejne dostupnom formulári odporúčame implementovať antispamovú ochranu. Formuláre vo vašom administratívnom rozhraní (CMS) netreba zabezpečovať reCAPTCHA.
Technicky je možné k jednému kľúču priradiť viac domén, dobrá prax je však vytvárať samostatné kľúče pre každý web samostatne.
Je to prehľadnejšie a jednoduchšie sa potom vyhodnocuje prevádzka a prípadné problémy.
Site key sa používa na prepojenie reCAPTCHA s webom a môže byť súčasťou frontendovej integrácie (v prehliadači).
Pri starších alebo niektorých integráciách tretích strán (pluginov) sa používa aj secret key, ktorý slúži na overovanie na strane servera a nemal by byť verejne dostupný.
To, ktoré údaje potrebujete, závisí od konkrétnej integrácie alebo pluginu.
Pri novej implementácii je vhodným východiskom score-based riešenie nadväzujúce na reCAPTCHA v3, pretože používateľa zvyčajne neruší a overovanie prebieha na pozadí, bez jeho vedomia.
Pri WordPress pluginoch alebo hotových platformách však treba použiť verziu, ktorú dané riešenie oficiálne podporuje.
Ak nie ste viazaní žiadnym pluginom alebo platformou, určite odporúčame implementovať novší typ ochrany, čiže v3, resp. score-based.
Žiadny systém nie je úplne bezchybný. Pri score-based ochrane je preto dôležité nenastaviť príliš prísne hranice bez reálnych dát. Výsledky je vhodné najskôr sledovať a podľa skutočnej prevádzky nastavenie upraviť.
Najskôr treba overiť, či je ochrana reCAPTCHA správne implementovaná a či web jej výsledok naozaj kontroluje. Ak ochrana funguje, no spam napriek tomu prechádza, môže byť vhodné kombinovať ju s ďalšími metódami, napríklad honeypotom, obmedzením počtu požiadaviek a podobne.
Nie. Badge alebo checkbox iba dokazujú, že sa určitá časť reCAPTCHA načítala na stránke. Ochrana funguje správne až vtedy, keď web získaný výsledok alebo token aj správne overí a podľa neho rozhodne, čo s požiadavkou urobí.
Pri WordPress plugine s hotovou integráciou často nie. Väčšinou stačí vytvoriť správny typ kľúča a vložiť ho do nastavení pluginu.
Pri formulári naprogramovanom na mieru alebo custom webe už treba manuálne zabezpečiť frontendovú aj serverovú časť integrácie, takže zásah developera je spravidla potrebný.
Vo väčšine prípadoch nie. Shopify používa vlastnú ochranu prostredníctvom hCaptcha a Wix má ochranu proti spamu integrovanú priamo vo svojej platforme. Dodatočná integrácia má zmysel, keď platoformu prispôsobíte už mimo štandardných formulárov, kde si už ochranu musíte častokrát zabezpečiť sami.
Áno. Jeden správne nakonfigurovaný reCAPTCHA kľúč môže (a mal by) byť použitý na viacerých miestach v rámci toho istého webu.
Áno. Ak je implementácia korektná, v praxi všetko dobre funguje „na prvú“ a o reCAPTCHA sa netreba ďalej starať. Pravidelná kontrola má zmysel hlavne pri weboch s väčšou a rôznorodejšou návštevnosťou, kde treba nastavenia občasne skontrolovať, prípadne upraviť.