A jedeme dál ...
Človíčkův Weblog aneb Michal Horák bloguje

Kompromis ve vyplňování otázky pro antispamový filtr

 | 7.10.2006

V této době snad každý, kdo na svých stránkách umožňuje přidání komentářů k článku, návštěvní knihu čí odeslání e-mailu přes kontaktní formulář musí řešit přibývající nárůst spamu. Někteří všechny data kontrolují a když dorazí nějaký spam, potom jej smažou, což může být po určité době naprosto nezvladatelné. Jiní si dělají seznamy IP adres, zakázaných slov nebo obojího a když se něco shoduje pak příspěvek neuloží. Další možností je přidat políčko do formuláře a pak zkontrolovat jeho výstup, když vše projde, pak se můžou potřebná data uložit. Jenže nikomu se nechce nic vyplňovat navíc a tak se vymýšlejí různé finty, aby uživatel nemusel nic dělat.

Finta první

Ono přidané políčko schováme pomocí css a necháme je prázdné, protože se roboti nezabývají tím co je a co není pomocí css schované, tak políčko vidí. To je to co potřebujeme ;o) Proč? Dobrým zvykem robota je vyplňovat všechna políčka formuláře a tedy i to pro obyčejného uživatele schované. Stačí tedy při ukládání zkontrolovat, zda je políčko vyplněno a pokud není, tak data uložit.

Finta druhá

Druhou fintou je vyplnění správné odpovědi na otázku pomocí JavaScriptu a opět schování políčka s tím, že když má nějaký uživatel vypnutý JavaScript, tak mu políčko ukážeme i s otázkou pro správné vyplnění. Počítá se totiž s tím, že roboti zatím JavaSript neovládají a tak se jim odpověď na otázku nepředvyplní. Jakmile je odpověď na otázku správná, můžeme data uložit. Nikdo ovšem nemůže vyloučit, že se roboti JavaScript již brzo naučí. Dokonce jsem už někde četl (bohužel už nevím kde to bylo), že se tak již stalo. Zatím je to ovšem docela bezpečná možnost.

Finta třetí - Kompromis

Moje finta je taková, že mám odpověď na otázku po dlouhou dobu stejnou a to až do doby, kdy se podaří robotům nalézt odpověď, což může být třeba na pořád. Uživatel bude nucen odpověď vyplnit pouze jednou a pak mu ji uložíme do COOKIES prohlížeče. Vždy když bude chtít znovu vyplnit formulář, odpověď na jeho otázku již bude předvyplněna. Jestliže uživatel nemá ve svém prohlížeči cookies povoleny, potom musí na otázku odpovídat pokaždé. Řekl bych, že je to o něco bezpečnější varianta než vyplnění odpovědi JavaScriptem, ale také trochu nepříjemnější pro uživatele.

Příspěvek vyšel v Sobotu 7.10.2006 12:20 v kategorii Programování a byl 11322x zobrazen. Pokud se vám líbil můžete si jej zalinkovat: Linkuj.cz, Del.icio.us

Komentáře


[1] ObiSkyWalker | 7.10.2006 13:52

Gravatar pro ObiSkyWalker První finta mi přijde docela vymakaná (ještě jsem o ní neslyšel), zvlášť když prázdnému políčku přidělíte name="email" :-).

Druhou používám já a zatím funguje spolehlivě.

Třetí je také výborná. Připadne mi bezpečnější než druhá.

[2] Michal Horák | 7.10.2006 19:38

Gravatar pro Michal Horák Pokud máte ještě někdo nějakou fintu, klidně ji připište sem do komentářů ;o)

[3] Šimon Grimmich | 22.10.2006 20:49

Gravatar pro Šimon Grimmich Musím říct, že z hlediska použitelnosti - je pro mě mnohem snažší automaticky přeťukat Captchu X1RT7 než přemýšlet 1+2, na druhou stranu, výsledek se pak drží v cookies..

[4] Michal Horák | 23.10.2006 13:27

Gravatar pro Michal Horák Já si zase nemyslím, že je pro člověka obtížnější přemýšlet nad výsledek příkladu 1+2, obzvláště když opisuješ z CAPTCHA rětěz, který nedává smysl.

[5] maikeroo | 16.3.2007 18:25

Gravatar pro maikeroo Já používám tu JS verzi. Ale naní problém třeba také filtrovat přípěvky, kde jsou více než tři linky a nění použita diakritika...

[6] tk | 28.3.2007 11:37

[7] Maxim | 28.7.2007 23:19

Přidejte svůj komentář

Přidej komentář

Tipy na přečtení

Kategorie

Vyhledávání

Odkazy

Nejčtenější příspěvky za poslední týden

Poslední příspěvky

"A jedeme dál ..." Človíčkův Weblog aneb Michal Horák bloguje. (c) Michal Horák (Človíček webdesign) 2006