včera mě třeba dožrala nová captcha na NICu - musel jsem si poštelovat monitor a hodně dlouho čumět, než jsem to přečetl.
Je hlavně úplně na hovno. Od té doby, co jsem nasadil Wordpress třeba na Marigold, který má asi 5 tisíc čtenářů denně tam nebyl fakticky ani jeden spam a to tam žádná captcha není, přitom je tam asi 1000 pokusů o zaslání spamu denně a ten debilní systém co tam byl předtím z nich desítky propouštěl.
Captcha (bohužel) dead není. Registrace je zdlouhavý a obtěžující proces, který spoustu uživatelů odradí (zejména jednorázové či jen občasné návštěvníky) od používání webu - je škoda přijít o poměrně velkou část uživatelů.
Řeším to většinou tak, že pro registrované (samozřejmě) žádná captcha ani nic podobného otravného není potřeba (jen je nutné takto ošetřit samotný proces registrace a pak dohlížet, jestli se náhodou nějaký registrovaný uživatel nechová jako spammer - např. při překročení určitého počtu příspěvků v určitém časovém intervalu upozornit správce...). Ale pro neregistrované je nutné nějaké protispamové opatření zavést. Otázka typu 2+2 je pro robota velice snadno čitelná (jednoduchý matematický výraz má příliš jednoduchou syntaxi). Ale viděl jsem celkem zajímavou otázku typu "kolik nohou má pes?". Nevýhoda tu ale taky už padla v souvislosti s obrázky předmětů - jejich počet je omezený. Napadá mě tedy snad ještě náhodně měnit kontext, v jakém se na stránce otázka vyskytuje, ale i tak je pro robota poměrně snadné ji najít...
Jedna bude natvrdo v kódu (pro roboty) a druhá se bude vkládat někam prostřednictvím DHTML (pro uživatele) tak, aby robot nepoznal, že je to taky CAPTCHA? Následný vstup by byl ošetřen tak, že komentář s CAPTCHOU od robota by se sice tvářil jako vložený, ale do databáze by se neuložil.
Rozpoznavanim jazyku pomoci extenze PHP, tusim ze to zvlada aspell i ispell, mj. Google jej pouziva (k jinemu ucelu).
language != en, komentar bude ulozen do /dev/null :-D. Alespon bychom si precetli o viagre, zvetsovani penisu, leku na rakovinu a mnoha dalsich zajimavych vecech.
Já to zatím stíhám kontrolovat přes RSS. Prozatím vždy stačilo v okamžiku, kdy se mi v RSS z komentářů objevil spam, provést redesign formuláře, třeba jen přejmenovat názvy polí. A měl jsem půl roků klid. Je pravda, že na blog přijde jen asi 50 UIP denně.
Na jiném webu mám tzv dvojité odklepnutí, kdy uživatel, který zadal příspěvek jej musí znovu odklepnout bez změny. Pokud udělá změnu, opět je po něm žádáno odklepnutí. Prostě jakýsí automatický náhled. Taky jsem tam ještě neměl spam.
zobrazím klasicky řadu číslic, a pak se script ptá slovy "zapište třetí číslici" do hidden pole zapíšu "třetí"
slovům se pak přiřadí čísla a porovna se to, jde to také kombinovat "třetí a pátou" a nebyl by problém dodělat k tomu třeba "první tři" nebo "poslední dvě"
Forum? Kdo proboha resi nejake forum a spam? Vse je otazka ceny a efektu, na nejake zaprdene forum nebudu davat a ladit captcha recognizer, kdyz mam po ruce stovky dalsich jinych nezabezpecenych. To pouziju treba na webech, kde za registraci je nejaky profit, at uz je to jen e-mailova adresa pro rozesilani, nebo i skutecne penize (pripsani za pouzivani sluzby, affiliate). Nedavno jsem videl peknou stranku s ruznymi priklady captcha, neco jsem pomalu nedokazal precist ani ja, a vedle toho byl odkaz na projekt s 99% ucinnosti cteni.
I would really like to stress the fact that some people should never be allowed to use English. I can even prove that it is in fact not an easy language - the evidence here is that most people with university degree in the Czech republic are neither able to express their thoughts in it nor even write simple text
Otázka typu 2+2 je pro robota velice snadno čitelná (jednoduchý matematický výraz má příliš jednoduchou syntaxi).
To teda dosť pochybujem, algoritus rozpoznania otázky nie je žiadna triavialita. Otázka väčšinou nebýva 2+2=[INPUT] ale vzorec je zapracovaný ako súčasť otázky niekde vo vete. A vôbec - na inteligenciu spambota by som sa moc nespoliehal, tam ešte zdaleka niesme a ani tak skoro nebudeme. Pre spambota je dôležité, aby bol použiteľný hromadne a bol jednoduchý. Najrozšírenejšie ochrany prelamujú priamo tvorcovia botov.
Môj názor na captchu - áno ale dá sa krásne zneviditeľniť JavaScriptom, tak, že ju obrovská väčšina užívateľov vôbec neuvidí. Koniec koncov takto to má aj tento server. Vo veľa prípadoch sa ukázalo ako maximálne účinné to, že formulár nemá odosielacie tlačítko - to sa ukáže až po vytvorení náhľadu. Ešte som nevidel spambota, ktorý by dokázal tieto dve akcie zreťaziť.
K poslednímu bodu - musím zopakovat, že to je jen otázka vynaložených prostředků vs. efekt. Naprogramovat to zřetězení dvou akcí není naprosto žádný problém (ta sémantická analýza textu naproti tomu ano), to, že jste se s tím zatím nesetkal, je dáno tím, že je dost jiných webů nechráněných nebo chráněných špatně. Např. na Guru.com se objevují denodenně požadavky na tvorbu různých anti-captcha, ocr, user agentů apod., a sám jsem několik dělal (většinou specialitky typu online casina, mmorpg)
A ja se ptam proc CAPTCHA?
Pro 95% webu se nevyplati vubec nejakou kontrolu studovat a obchazet. CAPTCHA tam jen zbytecne buzeruje uzivatele.
Proc misto CAPTCHA nepouzit:
1) overeni pres javascript - vyplneni hidden inputu javascriptem
2) overeni pres session/cookie - k odeslani formu je treba, aby jsme znali session uzivatele (roboti neumi)
3) statisticke omezeni - min. doba na vyplneni formu, max. pocet odeslani/hodina/IP atp.
Vsechny uvedene zpusoby jsou implementacne nepomernejednodussi a uzivatele vubec nebuzeruji.
Také se mi to stalo -- u již mrtvého a v zásadě nenavštěvovaného fóra (leda by tam někdo zabloudil fakt náhodou). Vyřešil jsem to šalamounsky -- příspěvek prostě nezobrazím nikdy. Budu se muset někdy podívat, jestli to ten maník ještě zkouší :D :D (A samozř. také jestli se tam něco nepokusil napsat nějaký chudák regulérní návštěvník co šel kolem.)
Vodafone podle mne měl ty chyby v captcha schválně -- v prvním kole mi to často prostě nabídlo pro "opiště 4 číslice" obrázek, kde bylo číslic 5. Když jsem vydržel, napsal tam blud a dal si "opakovat vložení kontrolního kódu", tak ten druhý obrázek byl vždy ok. Roboti zřejmě do 2. kola nevydželi...
Některé veby už dlouho používají jednoduchý test:třeba hádanku (šli dva a prostřední zako??) kterou sebechytřejší robot nevyřeší, neboť nechodil do školky.
nez sa babrat s ciselkami a podobne mi pride zobrazit fotku s jednoznacnym predmetom (auto, vlak, lietadlo) a ludia nech proste napisu co na nej vidia, toto boti nezvladnu este riadne dlhu dobu chapat obsah obrazkov a rospoznat co je na nich, zatial co pre cloveka to nerobi problem
Ja porad nevim, proc jsou CAPTCHA a Turinguvc test tak "oblibene", kdyz to jde i bez nich a uzivatele nemusi byt nijak obtezovani, zadnou kontrolni otazkou, zadnym opisovanim obrazku. Podle me to chce "jedinecne" reseni, kdy kazdy web bude trochu jiny a spamerum se nevyplati pro kazdy web hledat jedinecny algoritmus, kterym se jim podari spam vkladat.
A nejde to ještě jednodušeji? Nestačí do obrázku napsat něco jako
"Do políčka napište XYZ pozadu"
nebo
"Napište výsledek 2+2"
nebo
"napište kolik má člověk uší"
nebo
atd atd..
Tohle by mohlo hezkých pár let vydržet..
P.S. Rozhodně mnohem rychleji vymyslím odpověď na 2+2 než mi trvá luštění těch "čmáranic". Občas jdou weby až tak daleko s nečitelností, že to trefím třeba až na 3. pokus (3. vygenerovaný kód).
Nepoužitelné:
kdyz budes mit tech obrazku třeba deset, vyřeší to spameři (u větších služeb) "deus ex machina" - tedy tak, že jednorázově zadají obsah obrázku - tohle je kůň, tohle kráva a tady Aan rady dává ;o)
Captcha je dead, nejcasteji se obchazi pomoci nejakeho iframu ci javascriptoveho XmlHttpRequest() na warezu, kde user musi captcha vyplnit, aby si neco stahl, pricemz si uploaded warezu zase muze stahovat neco chranene tou captcha sam, nebo spamovat diskuze. Lepsi reseni je umoznit komentovani pouze registrovanym uzivatelum
Neúčinné, stejně jako teď spammeři používají vyplňování captcha pomocí lidí (zobrazí obrázek z jiného webu na svém webu, např. warez, xxx, a chtějí po uživateli vyplnění), tak mohou žádat i o fotky. Pěkným příkladem budiž Google Image Labeler game, a uměl bych si představit i bota, který by si přes images.google.com s už otagovanými obrázky zkoušel najít ten svůj
Na jedné stránce jsem narazil na Captchu ve formě matematického výrazu, třeba integrál nebo výraz. Taková captcha je určitě dost odrazující. Další možností by mohli být jednoduché slovní úlohy, aspoň by si je dětičky školou povinné procvičili :) a my ostatní taky.
No, ja bych to uplne nezavrhoval.
Kazdy obrazek je mozno pri zobrazeni vzdy lehce zprasit, jako to dela captcha s pismem, takze bude pokazde jiny. Take je mozno ke kazdemu obrazku priradit x otazek a ty stridat a kombinovat. Napriklad zobrazi se kosik s ovocem a nasleduji doatzy: kolik je tam jablek, kolik hrusek, o kolik je jablek min nez hrusek, kolik plodu rostlo na stromech atd...
Dalsi vec, ktera zde funguje je jazykova bariera - kdezto pocty jsou vsude stejny...
Samozrejme to vyzaduje aby si kazdy admin udelal par svych obrazku a k nim patricny pocet dotazu a casem je obmenoval.
Proste vyuzit toho ze pocitac sice rychle pocita, zato premysleni mu jde hodne ztuha... ;)
Docela zajímavá by byla Captcha ve stylu: jaké i/y patří do fráze 'úlohy by mohl* být' nebo 'dětičky by se procvičil*' . Kromě botů by to odfiltrovalo i hloupější jedince.
Na mym bazarku jsem se setkal s tim ze kdosi z ciny pravidelne prochazel capthou (s wow zlatem) tak jsem tam z nedostatku casu dal nejdriv hlidani klicovych slov. Manik si pak chvilku hral s formularem a zadaval zkusmo co jde a co nejde. A zas mi tam obden strcil jeden spamik. Z chovani spamera jsem se dovtipil toho ze to je clovek co poctive zadava prispevky rucne. Nakonec pomohlo, ze jsem tam dal banana na jeho ip.
Pokud se tohle rozmuze ve vetsim, tak jedina vec co pomuze jsou otazky typu jake i se pise ve slove Roco :p.