Captcha – ochrana, alebo iba otrava

obrázok: https://commons.wikimedia.org/
CAPTCHA je skratka pre „Completely Automated Public Turing test to tell Computers and Humans Apart“ (Úplne automatizovaný verejný Turingov test na rozoznanie človeka a stroja)

Pri surfovaní po internete ste sa už určite stretli s Captcha, reCaptcha, alebo s nejakou otázkou, na ktorú ste museli správne odpovedať (najnovšie zaškrtnúť, že ste človek), aby ste mohli odoslať komentár, zaregistrovať sa, nakúpiť v elektronickom obchode alebo obnoviť svoje heslo… Tieto dokrivené nečitateľné obrázky sú použité na identifikáciu, či ste človek, alebo automat, ktorý vyhľadáva formuláre a vypĺňa ich a odosiela. V prvom rade je to ochrana stránky pred automatmi. …otázkou ostáva či je naozaj nutné otravovať zákazníkov, alebo používateľov Vašich stránok s takouto nezmyselnosťou.

Je naozaj nutné používať Captcha?

…aby sme si vedeli na túto otázku odpovedať, musíme sa pozrieť, ako to funguje:

Ako Captcha funguje

Pri vypĺňaní formulára sa vám zobrazí väčšinou text, ktorý musíte opísať. Tento text je vo forme obrázku, aby automatický skript na vypĺňanie formulárov nemohol takýto text opísať. Následne pri odoslaní sa preverí, či je daný text správne opísaný a ak áno, formulár sa odošle, ak nie ste požiadaný o opätovné vyplnenie textu z poväčšine iného obrázku a takto to ide dookola, kým konečne opíšete text správne.

Čo Captcha dokáže

Pretože text je vo forme obrázku, čo skript na vypĺňanie formulárov nedokáže analyzovať, a preto je vlastne neschopný „spamovať“ cez tento formulár. …lenže, niektoré skripty na automatické vypĺňanie formulárov vedia analyzovať obrázok a rozoznať text na ňom, preto sa začali používať dokrivené farebné texty, na ktoré je takýto skript naozaj prikrátky. To znamená, že captcha je primárne určená na zabránenie automatickému vypĺňaniu formulárov a teda prípadnému spamu, alebo registráciám…

príklad captcha priklad captcha
Príklad Captcha

Lenže na niektoré texty je potom aj človek prikrátky a musí opakovať, alebo zmeniť obrázok, aby bol schopný opísať text…

Čo Captcha nedokáže

Captcha nedokáže zabrániť reálnemu človeku, aby vyplnil formulár. Captcha je teda účinná IBA proti automatickým skriptom na vypĺňanie formulárov!

Z vyššie uvedeného teda vyplýva, že Captcha núti človeka dokázať, že je rozmýšľajúca bytosť s predstavivosťou, bez zrakovej vady… Otázka znie, prečo? Prečo ja človek mám dokázať, že som človek? Prečo mi programátori znepríjemňujú život vypĺňaním nečitateľných textov, odpovedí na primitívne otázky, alebo čo i len zaškrtnutím políčka, že ja som človek? Nejde to inak? Prečo nešikanujú skripty, ale mňa? Vo veľa prípadoch majitelia stránok zarábajú na svoje živobytie pomocou nás návštevníkov, tak prečo nám znepríjemňujú život?

Ako neotravovať svojich návštevníkov

Okrem toho, že poznám jednu stranu barikády, poznám aj druhú. Jednak stránky vytváram a jednak som aj používateľom stránok. Vypĺňanie Captcha ma neskutočne otravuje! Zároveň viem, že existujú riešenia, ako sa Captcha vyhnúť.

Jedným z najjednoduchších riešení je Honeypot (doslova pohár medu). Jedná sa o formulárový prvok, ktorý sa pri zobrazení v prehliadači nezobrazuje – ale v kóde stránky existuje. Keďže skript stránku neprehliada cez prehliadač, ale vyhľadáva v kóde stránky, tento skrytý prvok vo formuláre nájde a vyplní ho (princípom skriptu je vyplniť všetky formulárové prvky). To znamená, že pri odosielaní je nutné skontrolovať, či tento prvok je vyplnený. V prípade, že prvok je vyplnený jedná sa o odoslanie skriptom. Pre úplnosť by bolo vhodné formulár neodoslať a presmerovať na stránku s informáciu, že formulár nebol odoslaný – to pre prípad, že by návštevník nejakým zázračným spôsobom tento prvok vyplnil.

Zdá sa to veľmi jednoduché? Áno je to jednoduché a rovnako účinné ako Captcha, iba v tomto prípade návštevník nemusí potvrdzovať, že je človek a nie skript!

Ďalšie riešenie môže byť nastavenie časového limitu. Reálnemu človeku chvíľu trvá, kým formulár vyplní, aj ak použije autofill funkciu. Naopak skript takýto formulár dokáže vyplniť takmer okamžite. Toto riešenie nepovažujem za 100%, ale v kombinácii s Honeypot riešením zvýši laťku bezpečnosti.

Veľmi účinným riešením je nechať overiť iných, či sa na stránku registruje človek. Existujú jednoduché metódy, ako registráciu vykonať pomocou sociálnych účtov. V taktom prípade sa nemusíte obávať, že sa Vám registruje skript, pretože taký účet by bol veľmi rýchlo odhalený a zablokovaný na samotných sociálnych sietiach. U tohto riešenia vidím problém v nutnosti registrácie. Ak potrebujete zistiť iba spätnú väzbu na Vašu stránku, alebo nechať návštevníkov odoslať odkaz o Vašej stránke známemu, toto riešenie môže byť nepoužiteľné.

Naopak oproti týmto jednoduchým riešeniam, existujú aj iné, ktoré sú komplexné a ich cieľom nieje iba ochrániť jednu webstránku, ale sústavne bojovať proti spamu a blokovať spamovanie. Asi najznámejším projektom je Projekt Honeypot (podobný názov ako už spomenuté riešenie). Medzi WordPress komunitou je to jednoznačne Akismet.

Pár slov na záver

Existuje veľa spôsobov ako ochrániť stránku pred spamom, ale najnevhodnejším je použitie Captcha. Je na každom programátorovi, aby riešil svoj program podľa seba, ale na jedno by nemal zabúdať – na druhej strane sú ľudia, ktorý za to nemôžu. Niektorým jedincom činí radosť otravovať život majiteľom webstránok. Každopádne, návštevník za to nemôže a preto by sme ho za to nemali trestať! Potrestajte spambotov, alebo sa zapojte do projektu ako Projekt Honeypot, hlavne to nezvaľujte na návštevníkov.

(Celkom zobrazené 1 007 krát, 7 dnes)
Tags

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *