Mit ‘Javascript’ getaggte Artikel

PHP: Emailadressen auf der Seite gegen Spam-Bots schützen

Montag, 23. März 2009

Dieses Script codiert die Emailadressen im Quellcode, so dass sie von Bots nicht ausgelesen werden können. Wir bieten HIER auch eine JavaScript Variante diesbezüglich an.

function noSpam($mail) {
  $str = '';
  $arr = explode("\r\n",chunk_split($mail,1),strlen($mail));
  for($i=0;$i<count($arr);$i++) {
    $str.= '&#'.ord($arr[$i]).';';
  }
  return '<a href="mailto:'.$str.'">'.$str.'</a>';
}
 
echo noSpam('info@promadesign.com');

Javascript: Emailadressen auf der Seite gegen Spam-Bots schützen

Montag, 23. März 2009

Jeder weiss wie lästig es ist, wenn man jeden Tag mehrere Spam Emails erhält. Leider ist das immer häufiger der Fall, da Bots, das sind eigens programmierte Skripte, Emailadressen aus dem Quellcode von Webseiten auslesen. Das ist recht einfach indem man mit einer RegEx nach einem bestimmten Muster im Text sucht, welches zb. ein @ enthält. Wir werden nun die Links zu Emailadressen so darstellen, dass dem Bot eine falsche Emailadresse vorgegaukelt wird. In den bereich der seite binden wir unser JavaScript ein, welches später die Emailadresse korrekt ausgibt:

<script language="JavaScript1.2">
function mailsend(mail,p1,p2,p3) {
  var ca;
  ca = "mailto:" + p2 + "\@" + p3 + "." + p1;
  mail.href = ca;
  return (1);
}
</script>

Nun müssen wir nur noch die links im wie folgt formatieren:

<a href="mailto:no.bot.can@get.us" onClick="mailsend(this,'tld','name','domain');">Email</a>

Es müssen nur die Platzhalter tld (Top Level Domain wie .com, .at, …), name und domain ersetzt werden. Ein Beispiel:

<a href="mailto:no.bot.can@get.us" onClick="mailsend(this,'com','info','promadesign');">Email</a>

Der Bot welcher den Quellcode ausliest liest die Emailadresse „no.bot.can@get.us“ aus. Der User welcher aber auf den Link „Email“ klickt bekommt die korrekte Emailadresse zu sehen.

Javascript: Focus auf ein Element setzen

Montag, 23. März 2009
<input type="text" name="fieldname" id="1">
<script type="text/Javascript" language="JavaScript">
  <!--
    document.getElementById("1").focus();
  //-->
</script>