T&R splet blog o spletnih storitvah. Razgaljamo tehnologijo!

reference spletnih strani
29th April

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:

PHP:
  1. function encodeString($string) {
  2.     for($x = 0, $y = strlen($string); $x <$y; $x++ ) {
  3.         $ord[] = ord($string[$x]);
  4.     }
  5.  
  6.     return implode(',', $ord);
  7. }

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.

PHP:
  1. function encodeEmailTo($address) {
  2.     return "this.href=(String.fromCharCode(".encodeString('mailto:'.$address)."));";
  3. }

Uporaba funkcije pri izpisu oz. v templatu:

PHP:
  1. $encodedEmail = encodeEmailTo('rok.meglic@gmail.com');
  2. echo "<a onclick='$encodedEmail'>Rok Meglič</a>";

Ko se template izvede pa dobimo sledečo kodo:

JAVASCRIPT:
  1. <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:

Delodajalec: Pangaea.si

Deli s skupnostjo:

  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Podobni članki:

  1. Javascript – delci uporabne kode
  2. PHP funkcije v Javascript jeziku – isset
  3. Textarea defaultValute – Javascript string replace – uidatepicker onClose
  4. Spreminanje input type text v input type password – Javascript
  5. Javascript search in replace string funkcije
  6. Javascript – print – tiskanje – document – onload
  7. Javascript – alert – confirm – prompt
  8. Javascript koledar – izbira datuma – jQuery date picker
  9. Javascript – input text – le številke – validacija
  10. PHP & Javascript asociativna tabela (Associative array)

3x komentirano na “Javascript – PHP – antispam – dekodiranje – fromCharCode – ASCII”

  1. smottt je napisal:

    Zanimiva rešitev!

  2. Boštjan je napisal:

    Kaj pa http://bandrej.com/?url=knjiznica/start&a=odpri&id=29 ?

  3. Roky je napisal:

    Tut ena možnost ja, sej je na podoben način.

Dodaj komentar