Konečně použitelná CAPTCHA?
Špatně čitelná CAPTCHA je příčinou mnoha nevyplněných formulářů a
ještě více rozzlobených uživatelů. Narazili jsme na zajímavý nápad, jak
lze CAPTCHU udělat mnohem čitelnější, ale stále
bezpečnou, a rádi se s vámi o něj podělíme. Termín
CAPTCHA, neboli „Completely Automated Public Turing test to tell
Computers and Humans Apart“, je metoda, jak na webu
automatizovaně rozpoznat počítač od člověka. Obvykle se
s ní setkáte u formulářů, kde má typicky podobu obrázku
s deformovaným textem, pod nímž se nachází vstupní textové pole. Úkolem
uživatele je správně opsat text z obrázku. Pokud udělá chybu, formulář
se neodešle a systém vygeneruje nový obrázek. CAPTCHA byla vyvinuta na konci
90. let minulého století. Důvodem byl zvyšující se počet spamu,
vkládaného na stránky prostřednictvím tzv. botů, což jsou
aplikace schopné rozpoznat a automaticky odeslat formuláře vyplněné
nežádoucími odkazy. Metoda je založena na předpokladu, že počítač
(využívající technologii OCR)
na rozdíl od člověka nedokáže správně rozpoznat a přepsat zdrojový
text. Achillovou patou této metody je přílišná deformace textů, která
vede k tomu, že ani lidé nedokážou text správně přečíst. CAPTCHA pak
uživatele nutí k opakovanému přepisování obrázku nebo v horším
případě odeslání formuláře úplně znemožní. Příkladem může být
následující jen obtížně čitelná CAPTCHA: [caption
id=„attachment_2424“ align=„aligncenter“ width=„202“
caption=„CAPTCHA u registrace služby GMail“]
[/caption]
Osobně považuji CAPTCHU za velký problém z hlediska
použitelnosti. Proto jsem rád, že Dr. Peters J. Meyers, ředitel
konzultační společnosti User Effects,
nedávno přišel se zajímavým
nápadem, jak učinit CAPTCHU lépe použitelnou
(čitelnější) se zachováním vysoké úrovně bezpečnosti.
Řešení je poměrně prosté. Meyers doporučuje obrázek s textem
horizontálně rozpůlit na dvě části (každá část obsahuje přesně půl
textu) a na webu jej prezentovat kompletní pomocí kaskádových (CSS) stylů.
Počítač na rozdíl od člověka neuvidí výslednou stránku s CSS styly,
ale jen zdrojový kód, kde jsou obrázky dva a samostatně nedávají smysl.
Text na obrázku tak může být dobře čitelný a počítač jej stejně
nedokáže přečíst. [caption id=„attachment_2428“ align=„middle“
width=„223“ caption=„Lehce čitelná CAPTCHA“]
[/caption] [caption
id=„attachment_2429“ align=„aligncenter“ width=„480“
caption=„CAPTCHA se ve skutečnosti skládá z těchto dvou obrázků“]
[/caption] Asi vás napadne, že toto řešení skýtá problémy
pro uživatele, kteří web neprohlížejí se zapnutými CSS styly nebo
obrázky a také pro zrakově postižené. Tento problém by měl ve většině
případů vyřešit odkaz, který umožňuje přehrát zvukovou stopu s textem
z obrázku. Kromě toho doporučujeme vedle obrázku doplnit odkaz typu
„Jiný obrázek, tento nepřečtu.“ pro uživatele, kteří mají
i při použití této metody problém s čitelností textu. Domníváme se,
že tato CAPTCHA bude bezpečná a zároveň použitelná, a proto bychom si
přáli, aby se na webu ujala. Co si o tomto řešení myslíte vy? Jak se
bráníte SPAMu zasílanému přes formuláře? Podělte se s námi o své
zkušenosti v diskusi.
Autorem článku je Michal Pařízek.
Trik je to hezky, ale pokud to bude chtit programator chtit prekonat, zabere mu to tak pul hodiny prace navic.
Mě se to líbí. Zrovna dnes jsem vyplňoval captchu a povedlo se mi to až na 4 pokus, fakt šílený.
Bojím se ale toho, že pokud se toto rozšíří, tak oni se zas najdou cesty jak to obejít. viz Michal Illich
Třeba pro Wordpress tohle není řešení. Protože je to „Security through obscurity“ tedy je to bezpečné dokud nevíš jak to funguje. Pokud by se to nasadilo masově, tak není problém si ty dva obrázky složit a použít ORC. Takže na nějaké malé projekty nebo stránky ano, ale jakmile to použije někdo u koho se vyplatí investovat do metody jak je dát dohromady (např. zmiňovaný wordpress), tak je to mrtvý :(
unflimat :-)
V Adapticu používáme klasické řešení pomocí jednoduché otázky a odpovědi, přičemž odpověď předvyplňujeme javascriptem a javascriptem také otázku a odpověď skrýváme. Výsledkem je, že uživatele, který má javascript zapnutý, ochrana neobtěžuje, ostatní vidí o políčko víc, kam doplní odpověď.
Řešení se nám osvědčilo, o když také spadá do kategorie „Security through obscurity“, jak píše [3]. Hodí se tedy především pro weby, u nichž nelze čekat přímý útok a ochrana má jen zabránit obtěžování „obecnými roboty“ (což je ale většina případů).
No ono jakekoliv „vlastni“ reseni na miru je obvykle nejbezpecnejsi, protoze se malokomu vyplati delat reseni jen pro vas web. Kazda metoda, ktera se ale zacne pouzivat masove stoji zato spammerum prekonat. Je to stejne jako s alarmem do auta. Pokud si nainstalujete standartni reseni treba za 10.000 kc tak stejne budou zlodeji toto reseni znat a vi jak jej obejit. Pokud ale investujete 500 kc, koupite si tlacitko, a par kabelu, tlacitko dobre schovate, tak pro zlodeje neni realne behem tech nekolika sekund prijit na to, jak se pres zabezpeceni, ktere nezna dostat.
[5] Tohle řešení se mi taky nejlépe osvědčilo – většina lidí ani nezaregistruje, že tam nějaká ochrana je, ale proti robotům to je úspěšné…
Určitě zajímavý nápad. Nebál bych se toho. Asi to vyzkouším :-)
Řešení je to zajímavé, ale pokud tato CAPTCHA nebude doplněna použitelnou a pro člověka srozumitelnou audio stopou, jedná se o nepřekonatelnou překážku pro uživatele screenraderů (nevidomí, uživatelé se zbytky zraku, atp.). Protože ani WebVisum, které tito uživatelé často k překonání CAPTCHA používají a které jiné typy CAPTCHA bez problémů rozlouskne, si s ní (zatím) neporadí.
Ano, pro nevidomé a obzvláště pro ty, kteří používáme stránky s captchou, je její rozluštění často velmi obtížné a v mnoha případech nemožné. Např. Webvisum (doplněk do Mozilly) umožňuje pouze rozpoznání 10 obrázků denně, jinak za peníze. V nejnovější Mozille má nevidomý smůlu. Existuje program, který captchu i pro nevidomé rozpozná? Nevidomý má při jejím rozluštění buď úplně smůlu, nebo je odkázán na rodinu, příbuzné atd, které tímto značně obtěžuje, je-li jeho prosba podstupována vícekrát za den.
Dobrý den, přestože je tato diskuse hodně stará, není to dotaz na mne a ani nejsem odborníky na captcha metody, pokusím se reagovat.
Technologie na čtení obrázků jsou stále v plenkách a captcha je úmyslně dělána tak, aby nebyla strojově zpracovatelná. Používá se právě proto, aby fungovala výhradně pro vizuální potvrzení právě lidmi. Takže pokud něco podobného existuje, zřejmě to nebude běžně dostupná technologie.
Dobrý den, ano, na rozpoznání captcha kódů existuje doplněk prohlížeče Mozilla Webvisum. Ten ale funguje s nižšími verzemi mozili, TJ do verze 42, takže variantou je přejití na příslušnou nižší verzi, kde se tento doplněk dá ještě instalovat. Webvisum ale bohužel nezohledňuje podstatně záludnější captchu, kdy se např. jedná o porovnání 2 podobných obrázků a výsledkem má být výběr jednoho z nich. Webvisum umí rozpoznat klasickou captchu, ať už se jedná o písmena nebo číslice, tuto pak nabídne klientovi k uložení do schránky a vykopírování do pole pro zadání captcha kódu.
V rámci free má klient k dispozici 10 možností rozpoznání denně, v jiném případě si musí zaplatit nějaký příspěvek již od 5 USD, aby podpořil provoz stránek a služeb, které jsou k doplňku Webvisum zapotřebí.
Svým komentářem jsem chtěl pouze rozpoutat diskusi k danému tématu, ikdyž jsem si vědom, že vlákno je co do reakcí již staršího data a nikdo nemusí reagovat.
Každopádně děkuji za reakci a máte-li nějaký nápad nebo námět, jak se s captchou ještě lépe poprat, sem s ním.
Díky za doplnění. Bohužel toto téma není předmětem naší specializace. Lidé, kteří pracovali na tomto článku a diskusi, už ani nedokážeme kontaktovat.
[6] problém je to „dobře schováte“. V autě zase tolik vhodných míst není. A s captchou se to má obdobně. Navíc již bylo prokázáno, že na velkých webech místo robotů pracují desítky číňánků. A s tím se udělat nedá nic!
Technicky tohle hodně jednoduchá ptákovina, u které se navíc dá najít hodně variant, jak jednotlivé části obrázku šikovně ukrýt tak, aby je robot nenašel.
Ale pořád je to Captcha – obrázek, který si musím přečíst a opsat. Je stejně náročné implementovat tohle jako napsat unikátní fintu, se kterou se robot obtěžovat nebude a zároveň o ní většina lidí ani neví.
BTW: Michale, u článku bych ocenil, kdyby shrnutí „Co je to Captcha“ bylo alespoň označené nadpisem nebo – jak bývá zvykem – až na konci čláku po hlavním sdělení ;-))
ako napisal [1], je to otazka chvilky urobit custom bota na nieco taketo. zvukova captcha je este o nieco vacsia hlupost, vid POC video https://vimeo.com/1301905
jedine dobra captcha s relativne dobrou citelnostou je reCaptcha, bohuzial, kvoli nelokalizovanym slovam nie az tak uspesna v nasich podmienkach. ale kedze sa v drvivej vacsine jedna o realne slova, clovek nema taky problem ich prepisat aj ked cast slova nevidi spravne. pritom kombinacia dvoch slov, ktore nie su nijakym sposobom navezne zvysuje pouzitelnost samotnej captchy (to bol ostatne dovod, preco ju kupil google).
Dobrý nápad. Ale tak, jak doporučuje [5] Shaman, tak i my to máme na webech řešeno Javascriptem. Avšak místo textové odpovědi normálně používáme obrázkovou Captchu, a javascriptem přes AJAX doplňujeme kod. Takže uživatel vlastně vůbec nemá ponětí, že tam nějaká captcha vůbec je. (psal jsem o tom v blogu na lupě: https://religis.blog.lupa.cz/…ha-techniku/)
Pardón, korekce url: https://religis.blog.lupa.cz/…ha-techniku/
Spamu posielanemu cez komentare sa z niekolko dlhych rokov branim najucinnejsou a najmenej otravnou metodou, ktoru si mozete preskumat v zdrojovych kodoch HTML stranok mojho weblogu.
Pozoruhodne je, ze od okamihu nasadenia NEPRESIEL princip mojej ochrany ziadnou zmenou, vylepsenim, doplnenim ani nicim, cim by som bol nuteny reagovat na „trendy“.
Od okamihu nasadenia som nezaznamenal nieze ziadny spamovy komentar ale dokonca uz ani len pokusy o „vkladanie“.
Dalši nápad ako vytvoriť captchu. No aj tak ostanem pri https://recaptcha.net/ ešte keby to lokalizovali do slovenciny alebo cestiny.
Než tohle, nebylo by lepší to udělat nějaké zabezpečení pomocí javascriptu, které by bylo jednak stejně nebo více účinné, druhak neobtěžovalo uživatele a třeťak variabilita takových řešení je obrovská, takže když se dobře udělá, bude to pro robota nepolapitelný… Mě se to tak zatím 100% osvědčilo
[5][7] Také mám rád toto řešení, používáme na Shopiu, ovšem tam už nám ho na několika shopech prolomili a museli jsme přejít na klasickou obrázkovou „captchu“.
Osobně mi přijde stejně jako [6] zatím nejsympatičtější řešení https://recaptcha.net/. Kromě toho, že má zvukovou stopu, je celkem čitelná a hlavně… pomáhá dobré věci.