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ć potrebitima

http://www.hck.hr

Hrvatski Crveni križ

u službi humanosti od 1878.

Kako se boriti protiv spam-a sa PHP-om?

Autor/ica Webmaster

Autor Kroativ mreže. Web dizajnom se bavi već nekih desetak godina i trenutno radi u Web Inkubator dizajn studiju. Kreativac u duši stalno željan novog znanja, a u slobodno vrijeme farba pixele i šeće web stranice po Internetu.

Oglas

Svima nam se to dogodilo bar jedanput, još mamurni uz jutarnju kavu čitamo e-mail kad ono, bingo. Dobili smo milione na lutriji, dopisujemo se sa predsjednikom Gane ili pak dobivamo super cijenu za Viagru itd… Ništa čudno, neki spam bot nam je pokosio stranicu i lijepo pokupio sve e-mail adrese koje smo mi naivno naveli kao kontakt opciju našim posjetiteljima. Načina je vrlo mnogo kako to izbjeći, od .htaccess-a do jednostavnog skrivanja e-mail adresa putem raznih kontakt formi. Mi ćemo ovdje pokriti jednostavan način za one koji ipak žele prikazivati svoj e-mail u plain text formatu.

Napravi ćemo jednostavnu PHP funkciju koja će maskirati našu e-mail adresu u hexadecimalnu vrijednost:

1
2
3
4
5
6
7
8
9
10
11
12
13
< ?php
/*
 * Pretvori e-mail adresu u hex vrijednost za protekciju od spam-bots
 * Primjer: echo "<a href=\"mailto:" . no_spam("example@example.com") . "\">moj e-mail";
 */
function no_spam($input) {
    $output = '';
    for ($i = 0; $i < strlen($input); $i++) {
        $output .= '%' . base_convert(ord($input{$i}), 10, 16);
    }    
    return $output;
}
?>

Kao što ste to mogli i primijetiti funkcija no_spam($input) linija 6 pretvara našu e-mail adresu ili neki string u hexadecimalnu vrijednost te na taj način zavarava spam botove. Kako tehnologije ide naprijed tako na žalost napreduju i spam botovi, ovo možda nije bulletproof način ali će vam svakako pomoći.

Princip je jednostavan, uz pomoć echo funkcije ispisujemo adresu na željenom mjestu.

< ? echo "<a href=\"mailto:" . no_spam("example@example.com") . "\">moj e-mail"; ?>

Ispis gornji primjer sada izgleda ovako:

<a href="mailto:%65%78%61%6d%70%6c%65%40%65%78%61%6d%70%6c%65%2e%63%6f%6d">moj e-mail</a>

ili moj e-mail

Kao što ste mogli vidjeti ovo je stvarno jednostavan ali efektivan način zaštite od spama. Prilikom izrade vaših dinamičnih stranica napravite i jednu datoteku funkcije, u nju stavite i gornju zaštitu te je uključite u sve dokumente. Nakon toga jednostavno pozivate no_spam ili koju god želite funkciju u svakom dokumentu.

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

Još nema komentara, Vi možete biti prvi!

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="">