Spam-Schutz durch JS: @ ersetzten

HPB

Erfahrenes Mitglied
Hallo,
ich möchte Email-Adressen auf meiner Seite veröffentlichen. Was meint ihr, hilft mein Script gegen bots, die nach Email-Adressen suchen?
Die Idee ist, dass nicht mehr die Email-Adresse direkt im Quellcode steht, sondern erst nachdem die Seite aufgebaut wurde ersetzt wird.
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>

<body>
Meine Email-Adresse: <span id="meinName">max!--ersetzen--!mustermann.de</span>
<script language="javascript" type="text/javascript">
var email=document.getElementById("meinName").firstChild.data
email=email.replace(/!--ersetzen--!/,'@');
document.getElementById("meinName").firstChild.data=email;
</script>
</body>
</html>

Gruß,

PETER
 
Kann man grundsätzlich so machen, aber dann schließt DOM unkompatible Browser aus...
Man kann die Adresse auch direkt schreiben lassen...

Code:
  <script type="text/javascript">
document.write(String.fromCharCode(84,69,83,84,64,84,85,84,79,82,73,65,76,83,46,68,69).toLowerCase());
  </script>

Das wäre: test@tutorials.de

bye
 
Beispiel Script

Hallo,
ich habe mein Script jetzt verallgemeinert, es findet alle Email-Adressen der Form <span id="email_01">max!--antispam--!mustermann.de</span> und ersetzt sie.
Viel Spaß damit ;)
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>

<body>
Meine Email-Adresse: 
<span id="email_01">max!--antispam--!mustermann.de</span><br>
<span id="email_02">andrea!--antispam--!beispiel.org</span><br>
<span id="email_03">dogbert!--antispam--!duck.de</span><br>
<span id="email_XX">max!--antispam--!mustermann.de</span><!--geht nicht, da XX NaN-->

<script language="javascript" type="text/javascript">
var emailTags=document.getElementsByTagName("span");
for (var i=0;i<emailTags.length;i++){
	var email=emailTags[i];
	if(email.id.search(/email_\d\d/)>-1){ //email Tag hat immer die form id="email_XX"
		var validEmail=email.firstChild.data.replace(/!--antispam--!/,'@');
		email.firstChild.data="" //alten Tag Inhalt löschen;
		var a=document.createElement("a");
		var href=document.createAttribute("href");
		href.nodeValue="mailto:"+validEmail;
		a.setAttributeNode(href);
		var text=document.createTextNode(validEmail);
		email.appendChild(a);
		a.appendChild(text);
	}
}
</script>
</body>
</html>
 

Neue Beiträge

Zurück