Volite web dizajn?

Zašto ne podijelite svoje znanje s cijelim svijetom? Svatko može pisati za Kroativ i na taj način se promovirati.

Pomoć Haitiju

http://www.hck.hr

Pozivom na donatorski broj:

060 90 11 (6,15 kn, PDV uključen)

Kako napraviti user-friendly spam-free formu

Autor/ica itzvonko

Iskusni web developer s višegodišnjim iskustvom u back-end i front-end kodiranju. Odnedavno voditelj projekata tvrtke IT Sense. Najponosniji na projekt SliceMachine koji vam pomaže u rezanju dizajna i pretvaranju u web stranicu.

Oglas

Najveći problem današnjice je spam. No, da bi se borili protiv istog, programeri često koriste metode koje, blago rečeno, živciraju korisnike i tjeraju ih sa vaših web stranica. Od nečitljivih CAPTCHA slika, do matematičkih problema i sličnog.

Korisnici žele jednostavno upisati čim manje stvari i kliknuti Submit, sa što manje razmišljanja i ponavljanja zbog grešaka pri unosu. Pa pokazat ću vam, kako sa malo CSS i JavaScript trikova, možete izbjeći veliku većinu spama, a zadržati usability.

Prvo nam treba forma:

<form method="post" action="/submit.php">
<p>Ime:
<br /><input name="name" /></p>
<p>Email:
<br /><input name="email" /></p>
<p class="antispam">URL:
<br /><input name="url" /></p>
<textarea name="message"></textarea>
<input type="submit" value="Send" />
</form>

Da prvo objasnim kako funkcionira spam-bot. Kad naiđe na formu, skenira njena polja i pokušava predati tu formu sa spam sadržajem. U našem slučaju, kad bismo ostavili formu ovakvom, garantirano bismo dobili tonu spama. Pa, idemo prevariti botove.

Prvo ćemo običnom, ljudskom korisniku sakriti polje za unos URL-a uz pomoć malo CSS-a:

.antispam { display:none;}

Zatim napravimo kod u PHP-u koji, u osnovi, izbacuje svakoga tko je ispunio polje URL. Znači, korisnik to polje ne ispunjava, jer nije vidljivo, dok će ga bot vrlo rado ispuniti. Evo koda:

<?php
// ako je polje URL prazno
if(isset($_POST['url']) && $_POST['url'] == ''){
// pošalji mail
mail('your [Email adresa: your #A|T# yoursite.com - zamijenite #A|T# s @ ]','Contact Form',print_r($_POST,true));
}
// svejedno pokaži da je sve u redu
?>
<h1>Hvala</h1>
<p>Ubrzo ćemo Vam odgovoriti</p>
?>

Na ovaj način, PHP će se brinuti da pošalje samo regularan mail. Moram napomenuti da nijedna metoda za borbu protiv spama nije 100% sigurna, ali ova će vas sigurno zaštiti od velike većine botova, a vaši će vam korisnici biti zahvalni.

Označeno s:
Za ovaj članak možete glasati na CroPortalu i tako pomoći u njegovoj promociji. Ako članak još nije objavljen vi možete biti prvi!
Stavovi i mišljenja izrečena u ovome članku i/ili komentarima odnose se samo na autora/icu članka i/ili komentara, a ne i cijele Kroativ mreže. Zabranjeno je neovlašteno prenošenje članaka u cjelosti bez prethodnog dogovora ili bez istaknutog povratnog linka na www.kroativ.net stranicu te imena autora.
Oglas

2 komentara

Trackbacks & Pingbacks

Ostavite komentar

Autori s više od 10 komentara nemaju tag nofollow na svojim linkovima! Zabranjeno je vrijeđanje, omalovažavanje ili na bilo koji drugi način ometanje normalnog toka komentara. Također je zabranjeno oglašavanje u komentarima i sve druge vrste spam-a.

(*) polja su obavezna

XHTML: Možete koristiti: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">