SPAM Schutz für eMail-Links auf Webseiten

14.07.2008 - Gerrit Garbereder

Rund 90 % aller eMails sind Spam. Die Spammer kommen auf verschiedene Wege an die Adressen. Einer ist es mit einem Robot Webseiten nach eMail-Adressen zu durchsuchen und dann eMails an diese Adressen zu schicken. Ein Ansatz sich davor zu schützen ist es diese Adressen durch Schreibweisen wie,

mail [at] me [dot] com

oder ähnliches zu ersetzen. Aber dies ist kein Hindernis für einen Robot, denn die es ist ein Kinderspiel diese eMailadressen wieder zusammen zusetzen. Etwas mehr Schutz bietet die Möglichkeit Leerzeichen in die Adresse einzufügen und den Nutzer aufzufordern diese zu entfernen. Zum einen ist diese Möglichkeit nicht benutzerfreundlich und zum anderen vollkommen Nutzlos, wenn man einen eMail Link setzt auf den der User klicken kann, denn dann steht die eMail-Adresse im Quelltext.

Es gibt aber trotzdem noch eine Möglichkeit den eMail-Link auf die Webseite zu bekommen ohne das dieser im Quelltext auftaucht. Dies funktioniert mit JavaScript, der Link wird erst im Nachhinein in den Quelltext eingebunden.

Dazu wird das Script mail.zip () benötigt und diese muss mit folgendem Befehl im Head-Bereich des HTML Dokuments eingebunden werden.

<script type=”text/javascript” src=”mail.js”></script>

Der Pfad muss ggf. angepasst werden. Nun steht die Funktion mail(Array,Array,Array,String,String) zur Verfügung. Diese erwartet in den ersten drei Parametern ein 2 dimensionales Array mit den Daten der eMail-Adressen. Dabei wird die eMail adresse in drei Teile zerlegt der name der Adresse, der Provider und die Domain der Adresse. Diese drei Daten werden dann in einem Array gespeichert. D.h. jedes Array steht für eine eMail-Adresse. Diese werden dann wiederum in einem Array zusammen gefasst. Dies ist dann das zweidimensionale Array. Diese Listen mit eMail-Adressen können beliebig lang sein. Das erste Array gibt die eMail-Adressen für das Empfängerfeld an, das zweite für das Feld “cc” und das dritte für das Feld “bcc”.
Die beiden Strings geben den Betreff der eMail und den Linktext an. Das erste Array darf nicht null sein, der Rest kann null bzw. “” sein.
Ein Beispiel aufruf der Funktion sieht dann so aus:

<script type="text/javascript">

	// Empfänger
	var to = new Array(
		new Array("mail1","garbereder","de"),
		new Array("mail2","garbereder","de"),
		new Array("mail3","garbereder","de")
	);

	// Diese bekommen eine Kopie
	var cc = new Array(
		new Array("mail4","garbereder","de")
	);

	// Diese bekommen eine Blind Kopie
	var bcc = new Array(
		new Array("mail5","garbereder","de"),
		new Array("mail6","garbereder","de")
	);

	// Betreff
	var subject = "SPAM Schutz";

	// Linktext
	var title = "Schickt mir 'ne eMail";

	// Einfügen des Links
	mail(to,cc,bcc,subject,title);

</script>

So sieht dann der fertige Link aus:

Schaut ruhig in den Quelltext, damit ihr euch überzeugen könnt, dass die eMail-Adressen nicht im Quelltext stehen.

Viel Spaß mit dem Script