Přejít k obsahu  Přejít k hlavnímu menu

Firemní weblog poradenské společnosti H1.cz

Zobrazit všechny články
Zpět

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=„attachmen­t_2424“ align=„aligncenter“ width=„202“ caption=„CAPTCHA u registrace služby GMail“]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=„attachmen­t_2428“ align=„middle“ width=„223“ caption=„Lehce čitelná CAPTCHA“]Lehce čitelná CAPTCHA[/caption] [caption id=„attachmen­t_2429“ align=„aligncenter“ width=„480“ caption=„CAPTCHA se ve skutečnosti skládá z těchto dvou obrázků“]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.

  • Michal Illich
    01. 10. 2009 / 10:29

    Trik je to hezky, ale pokud to bude chtit programator chtit prekonat, zabere mu to tak pul hodiny prace navic.

  • Jiří Šebek
    01. 10. 2009 / 10:43

    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

  • Tomáš Fejfar
    01. 10. 2009 / 10:45

    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ý :(

  • Martin
    01. 10. 2009 / 10:46

    unflimat :-)

  • Shaman
    01. 10. 2009 / 10:54

    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ů).

  • Rammi
    01. 10. 2009 / 11:41

    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.

  • sway
    01. 10. 2009 / 11:48

    [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é…

  • Michal Vitásek
    01. 10. 2009 / 12:11

    Určitě zajímavý nápad. Nebál bych se toho. Asi to vyzkouším :-)

  • Radek Pavlíček
    01. 10. 2009 / 13:21

    Ř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í.

    • Jiří Machota
      10. 08. 2016 / 00:57

      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.

      • Pavel Pajkrt
        12. 08. 2016 / 12:59

        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.

        • Jiří Machota
          12. 08. 2016 / 14:16

          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.

          • Pavel Pajkrt
            12. 08. 2016 / 15:15

            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.

  • MArtin
    01. 10. 2009 / 14:01

    [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!

  • Roman Appeltauer
    01. 10. 2009 / 14:22

    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í ;-))

  • ehmo
    01. 10. 2009 / 14:56

    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).

  • Tomáš Neděla
    02. 10. 2009 / 10:42

    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/)

  • Tomáš Neděla
    02. 10. 2009 / 10:44
  • rony
    07. 10. 2009 / 08:48

    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“.

  • JaHra
    30. 11. 2009 / 17:49

    Dalši nápad ako vytvoriť captchu. No aj tak ostanem pri https://recaptcha.net/ ešte keby to lokalizovali do slovenciny alebo cestiny.

  • Petr Konůpek
    30. 11. 2009 / 23:49

    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

  • Michal Franěk
    02. 12. 2009 / 01:16

    [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.

RSS feed komentářů k tomuto článku
RSS feed komentářů ke všem článkům



(nebude zveřejněn)



Položky označené * jsou povinné
Vaše osobní údaje jsou u nás jako v bavlnce, nikomu je nedáme. Informujte se zde.