Jak na spam ve webových formulářích? | Ondřej Mirtes

Jak na spam ve webových formulářích? | Ondřej Mirtes

STŘEDA
27. 6. 2007
Jak na spam ve webových formulářích?

Jelikož tento web pohání můj vlastní systém, implementuji do něj postupně funkce tehdy, až když je potřebuji. Když roboti po pár měsících od startu přišli na to, jak přidávat komentáře pod články a ty se začaly objevovat opravdu ve velkém množství, situaci bylo potřeba vyřešit.

Nechtěl jsem uživatele obtěžovat s opisováním znaků z nečitelných obrázků, ani s matematikou. Problém za mě vyřešil Jakub Vrána. Nutno říct, že jeho způsob eliminace spamů u mě funguje na sto procent, od jeho nasazení mi nepřišel do komentářů jediný nevyžádaný příspěvek (od automatu).

A jak na to? Předpokládáme, že botům stále nebyl dán do vínku JavaScript. Uživateli tedy položíme nějakou otázku či zadáme úkol vyplnit dodatečné pole formuláře, JavaScriptem toto pole skryjeme a požadovanou hodnotou vyplníme. Uživatelé bez JavaScriptu tedy nejsou nijak omezeni, pouze musí vyplnit o jednu hodnotu navíc. Ve zpracovávacím skriptu pak nepokračujeme, pokud v dané proměnné není požadovaná hodnota.


Část formuláře s ochranným polem

<noscript><tr><td><l­abel>Vyplňte nospam:</label></td><td­><input type=„text“ name=„robot“ /></td></tr><­/noscript>
<script type=„text/ja­vascript“> document.write(‚<in­put type=„hidden“ name=„robot“ value=„no‘ + ‚spam“ />‘); </script>

PHP skript

Zde už následuje pouze jednoduchá podmínka, která nepustí data k zápisu do databáze, pokud formulář robot neobsahuje řetězec nospam.

if ($_POST[„robot“] == „nospam“) { … }

Ondřej Mirtes

Komentáře RSS

Přidat nový komentář
 

[1] rony | 28. 6. 2007 0:56

pride doba, ked ti bude vadit aj nutnost vyhodnocovania, co je a co nie je spam.

vtedy prides na to, ze je lepsie cely FORM skryt, resp. jeho uvodnu cast s adresou na skript, ktory prijima data.

V ten moment nie ze je 100% uspesnost odhalenia pokusov o spamovanie, ale tych pokusov bude NULA.

[2] Alien | 16. 8. 2007 19:01

Diky mam na webu hodne spambotu dik.

[3] Jakub Dvořák | 17. 8. 2007 9:27

Šťastný uživatel: http://blog.jakubdvorak.eu/view.php?… :))

[4] Stephen | 13. 12. 2007 21:03

Díky za návod, musím vyzkoušet.

[5] Michal | 24. 3. 2011 20:38

diky

[6] dgsdfg | 3. 9. 2011 12:49

sdfgfdsgsdfg sdf g sdfg

[7] Pepa | 24. 9. 2011 12:02

<strong>Ahojda</stron­g>

Info

Ondřej Mirtes

23 let

student ČVUT FEL
& webový vývojář

počítače, hry, DJing

Foto

Včera: @jantichy I've met some gentle people there…

Včera: Vždy, když mi volá blokované číslo, čekám na druhé straně Sadako Yamamurovou, která mi řekne, že do týdne zemřu.

Včera: Po shlédnutí Půlnoci v Paříži jsem tomu městu odpustil i vykradené auto. Chci se tam co nejdřív vrátit!

Včera: I have a feeling we're not in Kansas anymore. http://t.co/7BB51eKC

Před 9 dny: January 28th 2012 http://t.co/LsYUNvNm

Anketa

Rubriky

Top 5 za únor 2009

  • 1. The Doppler Effect – Beauty Hides In The Deep (The Blizzard Remix)
  • 2. Nifra – Complicated Life
  • 3. Will Holland – Tears In The Rain
  • 4. Myon & Shane 54 ft. Carrie Skipper – Vampire
  • 5. Rank1 – L.E.D. There Be Light

Winamp mi právě hraje

  • 112d Thomas Coastline & CrossRyders – Global Electronic Music Sessions 044 on AH.FM
  • 112d Next on Air: Eunostos – Club Nights 032 on AH.FM
  • 112d Thomas Coastline & CrossRyders – Global Electronic Music Sessions 044 on AH.FM
  • 112d Sean Tyas – Tytanium Sessions 116 on AH.FM
  • 112d Ferry Tayle – Flightbook Bratislava Edition on AH.FM
* * * * * * * * * * * * *