Mailadressen in Webseiten richtig einsetzen |
|---|
|
Um Mailadressen in Webseiten richtig einzusetzen, damit sie von Programmen
nicht ausgelesen werden können die dann für Spam's mißbraucht werden,
muss man auf diverse Hilfsmittel zurückgreifen. |
Eine E-Mailadresse in einer Webseite so darzustellen wie
in folgendem Beispiel ist nicht sehr ratsam, da sie 2mal im Quelltext vorkommt.<a href="mailto:hans.mustermann@example.com">hans.mustermann@example.com</a>hans.mustermann@example.com |
|
Relativ sicher sind nachfolgende Lösungen. Dazu kann man z.Bsp. JavaScript verwenden: Es wird die E-Mailadresse in 3 Teile zerlegt und wieder zusammengeführt. Da diese sogenannten "Harvesterprogramme" das 'mailto:' und '@' im Link suchen und alle Zeichen innerhalb der "" im Link davor und danach auslesen und abspeichern. <SCRIPT LANGUAGE="JavaScript">Diese Zeilen sind an der Stelle einzufügen, an der die Mailadresse angezeigt werden soll. |
|
Oder auch nur die einzelnen Zeichen der Mailadress in Dezimal- oder
Hexadezimalwerten schreiben. Der Browser interpretiert diese Werte als Text und wandelt sie wieder um. Es sollten aber immer wechselweise Dezimal- und Hexadezimalwerte verwendet werden, da es ja auch schon Programme gibt, die entweder Dezimal- oder Hexadezimalwerte auslesen. Bei der wechselweisen Verwendung der Werte wird die Mailadresse für diese Programme nicht mehr brauchbar. zum Beispiel: hans.mustermann@example.com würde man dann so schreiben: <a href="mailto:hans.musterAus desingtechnischen Gründen wurden Zeilenumbrüche eingefügt.
Im Quelltext Ihrer Webseite muss die codierte Mailadresse in einer Zeile stehen.Dieser Link ist an der Stelle einzufügen, an der die Mailadresse angezeigt werden soll. Eine Auflistung der Dezimal und Hexadezimalwerte finden Sie hier: Manuell mit der Code-Tabelle: Codetabelleoder mit einem Encoder: mailto-EncoderIhr Anzeigetext für den Link |
|
Es sind auch beide Varianten in Kombination möglich. Das heißt die Variablen "var name, var domain und var at" kann man auch mit Dezimal- und Hexadezimalwerten füllen. Generell ist jedoch eine von beiden Varianten ausreichend. |
|
Auch eine Möglichkeit Mailadressen auszugeben ist PHP. Die Vorgehensweise ist die selbe wie bei JavaScript. Nur müssen in PHP die Variablen immer codiert werden.
<?php |
|
Noch eine Variante in Javascript. Sollte der User kein
Java aktiviert haben, dann bekommt er trotzdem die Mailadresse wie folgt angezeigt. hans.mustermann[at]example.com Diese Adresse ist für Harvesterprogamme ebenfalls unbrauchbar. <script language="JavaScript" type="text/javascript"> var pref = "ma" + "il" + "to"; var attribut = "hr" + "ef" + "="; var first = "%68%61%6E%73%2E%6D%75%73%74%65%72%6D%61%6E%6E'; var at = "%40"; var last = "aon.at"; var first2 = "hans.m usterm ann"; document.write("<a " + attribut + "\"" + pref + ":" + first + at + last + "\">"); document.write(first2 + at2 + last2); document.write("<\/a>"); </script> <noscript> <span style="display:none;"> are- </span> <span style="display:inline;"> hans.mus termann </span> <span style="display:none;"> -xya34 </span> <span style="display:inline;"> [at] </span> <span style="display:none;"> ddks- </span> <span style="display:inline;"> aon.at </span> </noscript> |
UNICODEComputerprogramme können in der Lage sein, Email-Adressen zu erkennen. Dies ist genau die Methode, über die Autoren von sogenannten SPAM-Mails in den meisten Fällen an Ihre Email-Adresse kommen: Sie haben eine eigene Homepage, auf der Ihre Adresse als Kontaktmöglichkeit angegeben ist? Bingo, schon bald werden Sie SPAM-Mails bekommen. Da besagte Programme Email-Adressen bildlich gesprochen aus dem Internet "ernten", bezeichnet man sie auch als "Email-Harvester" (harvest, engl. "die Ernte")Das automatische Durchsuchen des Internet nach Email-Adressen geschieht über einige Merkmale, die nur Email-Adressen, beziehungsweise Email-Adressen in HTML-Dokumenten haben. Dies sind im wesentlichen fogende: hans.mustermann@example.comMarkant ist vor allem das @-Zeichen, aber auch die Gruppierung von Punkten und Text dazwischen. Mit sogenannten "Regulären Ausdrücken", kleinen Suchmuster-Regeln, lassen sich Email-Adressen sehr einfach anhand dieser markanten Punkte automatisiert aus Dokumenten extrahieren. Ein regulärer Ausdruck für das Auffinden von Email-Adressen könnte ganz einfach so aussehen /^([ _a-zA-Z0-9-]+)(\.[a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+\.)+([a-zA-Z]{2,4})$/Hier wird überprüft, ob ein oder zwei Worte (eventuell getrennt durch einen Punkt) vor dem @ - Zeichen stehen und ob diese aus Buchstaben und Zahlen bestehen. Das gleiche wird für den Bereich nach dem @ überprüft. Am Ende wird noch einmal nach einem Punkt gesucht, gefolgt von zwei bis vier Buchstaben (die Top-Level-Domains: de, com, info und so weiter). Im Falle des Vorkommens in einem HTML-Dokument können zusätzliche Mermale sein: mailto:hans.mustermann@example.com beziehungsweise href="mailto:hans.mustermann@example.com"> |
|
Was Abhilfe schafft... Wenn diese Merkmale inner- und außerhalb der Emailadresse nicht mehr als solche im Quelltext eines Dokumentes stehen, sind besagte Programme häufig aufgeschmissen, da sie oft nur "einfach gestrickt" sind. Es ist also ratsam, die auffälligen Elemente einer Email-Adresse zu maskieren, so dass sie im Quelltext des Dokumentes nicht mehr im Klartext stehen. Vom Browser selbst müssen sie aber so dargestellt werden können, dass sie ein Benutzer beim Betrachten einer Internetseite lesen kann. Hierfür ist UNICODE geeignet. |
|
Was ist UNICODE? Ganz einfach betrachtet arbeiten Computer nur mit Zahlen. Sie speichern Buchstaben und auch alle anderen Zeichen, indem sie jedem Zeichen eine bestimmte Zahl zuordnen. Nun war es früher so, dass es kein einheitliches Schema für diese Zuordnung gab. Verschiedene Betriebssysteme hatten hierfür unterschiedliche Schemata, verschiedene Sprachen ebenso. Alles in allem gab es hunderte verschiedener Ansätze für die Codierung von Schriftsätzen in Zahlenwerte. Ein und dieselbe Zahl konnte in zwei verschiedenen Schriftsätzen zwei völlig andere Zeichen beschreiben. Unicode (Dt. etwa: "Einheitssschlüssel") ist ein alphanumerischer Zeichensatz, ein von der internationalen Standardisierungs-Organisation ISO genormtes System zur Kodierung von Textzeichen (Buchstaben, Silbenzeichen, Ideogrammen, Satzzeichen, Sonderzeichen, Ziffern). Unicode ist der Versuch, weltweit alle bekannten Textzeichen in einem Zeichensatz zusammenzufassen, also nicht nur die Buchstaben des lateinischen Alphabets, sondern etwa auch das griechische, kyrillische, arabische, hebräische, thailändische Alphabet und die verschiedenen japanischen (Katakana, Hiragana), chinesischen und koreanischen Schriften (Hangul). Außerdem können mathematische, kaufmännische und technische Sonderzeichen im Unicode kodiert werden. (Quelle: http://unicode.e-workers.de/) UNICODE ist also eigentlich ein Versuch der Vereinheitlichung. Da es aber über kryptisch anmutende Zahlenwerte notiert wird, ist es im Prinzip eine ganz einfache Möglichkeit, Text für ganz simpel gestrickte Programme sozusagen "verschlüsselt" darzustellen. UNICODE kann dezimal oder hexadezimal notiert werden, wobei letzteres nur von Browsern der neueren Generation dargestellt werden kann. Wir verwenden hierbei also dezimal notierten UNICODE. Um Ihre Emailadrese in Unicode umzuwandeln, können Sie einen mailto-Encoder nutzen, den Sie im Internet finden. Hier noch einige Beispiele: Im ersten Beispiel ist nur die Email-Adresse selbst kodiert:
<html>hans.mustermann@example.com |
</body> |
Im zweiten Beispiel ist zusätzlich auch noch das mailto:-Protokoll kodiert:
<html>hans.mustermann@example.com
</body> |
|
Beachten Sie, dass die codierte Emailadresse innerhalb einer Zeile des Quelltextes
stehen muss! Wenn der Linktext des Email-Verweises ebenfalls eine Email-Adresse ist,
sollten sie ihn auch kodieren. Weitere Kodierungen, zum Beispiel der gesamten Email-Link-Konstruktion sind leider nicht möglich, der <a>-Tag muss im Klartext stehenbleiben, da es sonst auch vom Browser nicht als Link erkannt wird. |
|
mailto-Encoder Um Ihre Emailadresse vom ASCII-Klartext in Unicode umzuwandeln, können Sie diesen
mailto-Encoder
dezimal, hexadezimal und url codierung (gemischt oder einzeln)oder diesen
mailto-Encoder
nur dezimalnutzen. Bitte beachten Sie noch folgenden Hinweis: Der mailto-Encoder funktioniert nur mit den Browsern Microsoft Internet Explorer (ab Version 5), Mozilla/Firefox, Netscape (ab Version 7) und Opera (Version 7 getestet) und eventuell anderen Browsern neuerer Generation (nicht getestet), die das sogenannte Document Objects Modell (DOM) unterstützen. Benutzer älterer Browser haben aber natürlich die Möglichkeit, die Umwandlung von Klartext Email-Adressen in Unicode-codierten Text manuell
mit Hilfe von Codetabellen
vorzunehmen! |