Co je CAPTCHA? CAPTCHA je krátký test na webové stránce, který má rozpoznat, jestli formulář odesílá člověk, nebo automatický program. Potkáte ji u kontaktních formulářů, registrací, diskuzí a přihlašovacích stránek. Je to takový vrátný, který se u dveří zeptá na maličkost, kterou zvládne člověk a stroj s ní má potíž.

Proč vůbec existuje? Protože po internetu neustále obchází automatické programy, kterým se říká roboti. Ti vyhledávají formuláře a hromadně jimi rozesílají reklamu a odkazy na podvodné stránky. Bez ochrany Vám do schránky chodí desítky nesmyslných zpráv denně a v diskuzi pod články přibývá spam.

Podoby, se kterými se setkáte:

  • Opsat pokřivený text – nejstarší varianta, dnes na ústupu, protože ji lidé často přečtou hůř než stroje.
  • Vybrat obrázky – klasické klikání na semafory nebo přechody.
  • Jedno zaškrtnutí – políčko Nejsem robot. Vyhodnocuje se hlavně chování, tedy jak myš dojela k políčku.
  • Neviditelná kontrola – návštěvník nedělá nic a stránka na pozadí posoudí, jak se chová. Pro uživatele nejpříjemnější.
  • Skrytá past v poli formuláře – do stránky se vloží pole, které člověk nevidí a nevyplní, kdežto robot ano. Tomu se říká honeypot a nikoho neobtěžuje.

Kdo CAPTCHu na web přidá? Vy jako provozovatel, obvykle přes plugin ve WordPressu nebo jako součást formulářového nástroje. Není to nastavení webhostingu, ale funkce Vaší stránky. Na naší straně před weby stojí ochranná vrstva Cloudflare včetně pravidel WAF, která hodně automatického provozu odfiltruje ještě dřív, než se ke stránce dostane.

Nezbavuje CAPTCHA web návštěvníků? Trochu ano, každá překážka někoho odradí, a lidem se zrakovým postižením dokáže obrázková varianta zkomplikovat život. Proto volte co nejméně nápadnou ochranu: neviditelnou kontrolu nebo skrytou past. Ochranu proti hádání hesel navíc lépe řeší rate limit a dvoufázové ověření než opisování písmenek.

CAPTCHA také nechrání proti všemu. Netýká se zranitelností v kódu, jako je XSS nebo CSRF, ani nenahradí aktualizace. Berte ji jako jeden díl skládačky popsané v hesle zabezpečení webu.