Javascript – PHP – antispam – dekodiranje – fromCharCode – ASCII
Vsi imamo težave s spamom oz. nezaželeno pošto. S pomočjo Javascript jezika lahko uporabimo trik, ki oteži (onemogoči) spam iskalnikom (webcrawler) branje vašega e-poštnega naslova s spletne strani.
Naprej s PHP-jem podani e-poštni naslov spremenimo v zaporedje ASCII kod:
Potem pa pri izpisu (v templatu) vrnemo Javascript kodo, ki linku (HTML a element), ko kliknemo na njega, določi href atribut kjer Javascript sestavi e-poštni naslov z zaporedja ASCII kod. Za pretvorbo iz zaporedja ASCII kod uporabimo Javascript fromCharCode, ki je implementirana v String razredu.
-
function encodeEmailTo($address) {
-
return "this.href=(String.fromCharCode(".encodeString('mailto:'.$address)."));";
-
}
Uporaba funkcije pri izpisu oz. v templatu:
-
$encodedEmail = encodeEmailTo('rok.meglic@gmail.com');
-
echo "<a onclick='$encodedEmail'>Rok Meglič</a>";
Ko se template izvede pa dobimo sledečo kodo:
-
<a onclick='this.href=(String.fromCharCode(109,97,105,108,116,111,58,114,111,107,46,109,101,103,108,105,99,64,103,109,97,105,108,46,99,111,109));'>Rok Meglič</a>
Preizkusite. Ko uporabnik klikne se odpre njihov privzeti poštni odjemalec in dobi pravi e-poštni naslov, spam web crawlerji pa težje pridobijo naš e-poštni naslov. Imate vi boljšo rešitev? Sporočite pod komentarje.
Dodatne informacije:
- Podobne rešiteve - fromCharCode
- Uporaba document.write za antispam
- Primeri za različne Javascript antispam metode
Delodajalec: Pangaea.si
Podobni članki:
- Javascript – delci uporabne kode
- PHP funkcije v Javascript jeziku – isset
- Textarea defaultValute – Javascript string replace – uidatepicker onClose
- Spreminanje input type text v input type password – Javascript
- Javascript search in replace string funkcije
- Javascript – print – tiskanje – document – onload
- Javascript – alert – confirm – prompt
- Javascript koledar – izbira datuma – jQuery date picker
- Javascript – input text – le številke – validacija
- PHP & Javascript asociativna tabela (Associative array)



April 30th, 2008 ob 1:47 pm
Zanimiva rešitev!
May 2nd, 2008 ob 2:38 pm
Kaj pa http://bandrej.com/?url=knjiznica/start&a=odpri&id=29 ?
May 2nd, 2008 ob 5:07 pm
Tut ena možnost ja, sej je na podoben način.