Tu ležala reklama.

15. Máj 2009 19:40 0 komentárov

Aký filter použiť proti spamu III

V prvých dvoch dieloch som písal o navonok viditeľných filtoch. Dnes by ukázal dva spôsobov ako zneviditeľniť filtre. Prvými budú rôzne JavaScriptové triky a druhým môj najobľúbenejší a najlepší a tým je neviditeľné textové pole.

JavaScriptové triky

Použitie JavaScriptu pri filtroch je veľmi dobré, pretože roboti(drvivá väčšina) ho nepodporujú. 
Jeden z najpožívanejších je script, ktorý doplní do políčka ľubovoľný reťazec napr. číslo alebo slovo. Dôležité je aby daný reťazec bol uložený v externom súbore, lebo robot sa ťažšie dostane k odpovedi. Preto aby bežných návštevníkov toto pole neotravovalo, poprípade nezmenili hodnotu, je ho treba skryť napr. pomocou štýlov (display: none; ).

Ďalším vcelku zaujímavým trikom je filter, ktorý po prejdený myšou nad daným prvkom vloží do políčka daný reťazec. Textovému políčku nastavíme hodnotu readonly(z políčka sa potom bude dať len čítať, poprípade kopírovať obsah).  

Neviditeľné textové pole

Ako som už spomínal, tento spôsob je podľa mňa najlepší a doporučujem ho každému. 
O čo vlastne ide? Vo Vašom formulári okrem Vašich políčok pridáte jedno obyčajné prázdne textové políčko. Meno name mu dáte napr. ?websites?(názov zvoliť nejaký nenápadný, priam učený aby to robot vyplnil). Toto políčko skryjete pomocou napr. štýlov(display: none; ).

Bežný návštevník políčko nevidí a preto ho ani nevyplní. Zato robot áno. Pointa je vtom, že ak políčko bude prázdne formulár sa odošle, ak nie neodošle sa. Môžem z vlastných skúseností povedať, som mal zatiaľ len jeden spam a to je čo povedať.

Tu ležala reklama.

0 komentárov ku článku „Aký filter použiť proti spamu III

(povinné)

(povinné, ale nezorbrazi sa)



(povinné)

(Zakázené)

Môžete používať tieto tagy:

<i> <em> <b> <strong> <a> <u> <img>

Prosím píšte s diakritikov a zrozumitelne! Blog podporuje Gravatar!

Kontakt

Vytvoril kletely v roku 2008 - 2021 všetky práva vyhradené.


Stránka beží na vlastno ručne napísanom redakčnom systéme Frup.