E-Mail Adresse verschlüsseln
Heute gibt es mal wieder einen HTML/CSS Artikel. Jetzt wo ich so nachdenke – gab es schon mal einen CSS Artikel? Wahrscheinlich nicht. Egal, die Einleitung hat auch so gereicht, die ersten Zeilen zu füllen. Ich hatte ja vor einiger Zeit mal ein paar nette Effekte gezeigt, die man im Internet so findet. Darunter war auch einer der Symfony Jungs, die mit einem einfachen Trick ihre E-Mails verschlüsselt haben. Diesen möchte ich heute vorstellen.
Fangen wir also an. Das Ziel ist es eine E-Mail Adresse zwar lesbar auf dem Monitor anzuzeigen, es den Spam-Bots aber nicht zu einfach zu machen. Dazu nehmen wir die E-Mail Adresse rückwärts und schreiben einfach von Rechts nach Links. CSS unterstützt das ohne Probleme. Dazu brauchen wir nur zwei Attribute: unicode-bidi
und direction
.
<style type="text/css"> span.crypted_email { unicode-bidi:bidi-override; direction: rtl;} </style> <span class="crypted_email">ed.80nalp@rengnal</span>
Der Code-Schnipsel gibt euch dann langner@plan08.de (mist jetzt hab ich meine Adresse doch hingeschrieben!) aus. Genau das was wir wollten. Im Code steht die Adresse aber niemals Plaintext. Natürlich hat diese Technik auch ein großes ABER. Verwende ich den Schnipsel, so kommt auch der Browser nicht mit zurecht. Copy und Paste des Strings resultiert in einem umgedrehten Text in der Zwischenablage und mindert somit die Usability der Webseite. Ist es das Wert? Wahrscheinlich nicht, denn es gibt andere Möglichkeiten seine Adresse zu schützen.
Ich werde hier gerne noch mal ein paar andere vorstellen. Auch welche, die die User-Experience nicht beinträchtigen. Ich finde den Trick trotzdem ziemlich nett und ich habe mal wieder ein paar neue Features von CSS kennengelernt. Vielleicht will man ja andere Dinge so verschlüsseln, dass sie von Bots nicht gelesen werden können. Gibt bestimmt viele schöne Anwendungsgebiete. Denkt aber immer dran google ist auch ein bot und wird die Texte nicht indizieren.
Ich hätte großes Interesse an Schutzmöglichkeiten der eMailadresse ohne die Usability wie in obigem „Trick“ zu verwässern.
Ich muss Kunden immer wieder erklären warum es sich heutzutage lohnt auf Usability mehr zu achten als auf Spamschutz der eMailadresse. Selbst einfache Spamfilter halten heute den meisten Müll draußen und das was doch durch kommt kann man eben noch schnell löschen.
Es ist halt unsinnig auf der eigenen Homepage die Adresse wie wild zu verschlüsseln und daḿit „unlesbar“ zu machen, andererseits bei jedem Gewinnspiel, etc. mitzumachen und so seine Adresse wild im Netz zu verteilen.
@Bastian: Sie haben Post.
Ich verschlüssel meine E-Mail Adressen nicht, da ich halt auch mehr auf Usability achte und bis jetzt habe ich auch noch kein großes Spamproblem. Techniken, um E-Mail Adressen zu verschlüsseln, welche die Usability dabei nicht beinträchtigen, wären schon interessant, auch wenn diese wahrscheinlich nur einen geringen Nutzen bringen.
Jeder sollte sich sehr stark überlegen solche „Verschlüsselungen“, die so zu Kosten der Usability gehen, einzusetzen. Ich würde jedem dringenst davon abraten denn wie schon Bastian meinte, jeder Spam-Filter ist da zweckvoller eingesetzt.
Ein paar andere „Verschlüsselungsmethoden“ zu E-Mails könnt ihr im Webkrauts Adventskalender von 2009 finden (http://www.webkrauts.de/2009/12/07/spamsichere-email-adressen/).
Moinsen Nilsen,
ich würde den Nutzwert dieser vorgestellten „Verschlüsselung“ in etwa auf dem selben Level ansiedeln, wie den Nutzwert eines E-Mail oder Website Disclaimers. Er bringt nichts! Ausrufezeichen! Es ist doch für einen Spambot nahezu kein Aufwand, alle gefundenen E-Mail Adressen umzudrehen, wenn sie offensichtlich nicht dem allgemein verwendeten Format entsprechen. Und das tut ed.80nalp@rengnal nun mal nicht. Eher noch ist das bei ed.esel@tregge.lf.ar der Fall.
Gruss,
Ralf
Rafl? 😉
Besonders im Impressum etc. verwende ich häufig kleine Bildchen mit meiner Email-Adresse. Wer mir da eine Email senden möchte, kann sie auch fix abtippen, meistens sind die sehr einfach, a la info@… Wem die 3 Sekunden Mehraufwand zuviel sind, der möge mir bitte auch keine Email schreiben.
Ralf? => Rofl!
Scheiss manuelles Verschlüsselungsgedöns… 😉
Das größte Problem beim „rtl“ Ansatz ist, dass man die Mail-Adresse damit nicht anklickbar machen kann. Ich bevorzuge von daher die Verschlüsselung der Mail-Adresse mit Javascript mit „fallback“ auf ein Bildchen für alle JavaScript deaktiviert-haber. Damit bekommt fast jeder den vollen Funktionsumfang – und wer sicherheitsfanatisch ist, der muss es halt doch abschreiben 🙂
BTW: Vielleicht interessant für den einen oder anderen: Bei TillLate gibt’s einen Artikel, der verschiedene obfuscation Methoden vergleicht.
So viel zum Thema „Es ist doch für einen Spambot nahezu kein Aufwand, alle gefundenen E-Mail Adressen umzudrehen, wenn sie offensichtlich nicht dem allgemein verwendeten Format entsprechen.“ (@Ralf): Theoretisch ist das kein Aufwand – nur macht es (zumindest bis vor 1 1/2 Jahren) wohl niemand 😉
Schön, dass ihr alle aus eurem Winterschlaf aufgewacht seid 🙂 Frohes neues Jahr 2009!
@Dominik
glaubst du wirklich, dass die E-Mail Adressen Abgreif Mafia (EMAAM) sich in 1,5 Jahren nicht weiter entwickelt hat? Glaubst du wirklich, dass die EMAAM die selben schlauen Blogbeiträge mit diesen „Verschlüssungsoptionen“ nicht liest? Die EMAAM lacht über solche Versuche und klemmt einfach noch ein paar Server dazu, um weitere 10 Millionen Spam Mails pro Stunde raus senden zu können.
😉
Gruss,
Ralf
P.S. wie gesagt, ist das genauso nutz- und sinnlos wie diese E-Mail und Website Disclaimer
Beispiel E-Mail Disclaimer http://www.causse.de/recht/angstklauseln.html
@Ralf:
Ich glaube einfach daran, dass die „EMAAM“ gar keinen Aufwand betreiben muss um ausrechend Mail-Adressen zusammenzubekommen. Das Ziel von denen ist ja gar nicht ALLE Adressen zu sammeln, sondern nur eine möglichst große Menge. Und dafür genügt es vollkommen, sich um Verschlüsselung gar keine Gedanken zu machen. Es gibt genug „offen herumliegende“ Adressen.
Gruß, Dominik
Einfach die E-Mail-Adresse per GDLib als Bild ausgeben und fertig 🙂
@Dominik
schon mal daran gedacht, dass gerade die „verschlüsselten“ für die Spammer viel wertvoller sind, als die „nicht verschlüsselten“, die sowieso jeder hat? 😉
Gruss,
Ralf
Die Nachteile (nicht anklickbar, kein vernünftiges Copy & Paste) überwiegen hier klar. Würde ich nicht so machen.
Ulli
@Ralf
Was aber kein Argument dafür wäre, die Adresse nicht trotzdem zu verschlüsseln 😉
An E-Mail-Adressen, die ich nicht direkt anklicken oder zumindest kopieren kann, schreib ich garnicht erst. Wer der Meinung ist, seinen eigenen Spamordner leer zu halten sei wichtiger, als mit potentiellen Kunden in Kontakt zu treten, braucht die Kunden wohl nicht. Das ist mir dann auch echt zu doof da irgendwas händisch abzutippen.
Im Impressum könnte das sogar für Ärger sorgen, wenn ein abmahnwütiger Anwalt der Meinung ist, das entspräche nicht den „einfach zugänglichen Kontaktmöglichkeiten“. So im Detail kenn ich mich da aber auch nicht aus.
Ich hab seit Jahr und Tag meine Adresse offen auf meiner Seite und kann nicht behaupten, dass mein Spamfilter überfordert sei. Mir ist es dann doch lieber, dass man mich leicht erreichen kann, anstatt meine Zeit mit „Verschlüsselung“ [1] zu verschwenden, die dann auch noch der Usability im Weg steht. Wenn ich es doch tun würde, wozu sollte ich dann noch Spamfilter verwenden? Ich bezweifle, dass irgendwer hier ohne Spamfilter auskommt.
Zum Thema Mafia: ltr-Schreibweisen sind schon ne ganze Weile bekannt. Das es vor 1,5 Jahren nicht bekannt gewesen sein soll find ich eine interessante These 😉
@KingCrunch:
Da hast du wohl die Kommentare nicht komplett gelesen: Die Methode war vor 1,5 Jahren sehr wohl bekannt – und laut TillLate auch mit einer Erfolgsrate von 100% sehr effektiv.
Ausserdem finde ich es sehr löblich von dir, dass du dich freiwillig für die Spammer opferst. So lange es unverschlüsselt herumliegende Mail-Adressen gibt brauchen die Spammer unsere Mail-Adressen nicht zu entschlüsseln 😉
@Dominik:
Das „Zum Thema Mafia“ war wohl nicht auffällig genug. Hätte den Satz doch eher „Das es vor 1,5 Jahren _der_Mafia_ nicht bekannt gewesen sein soll …“ formulieren sollen…
Ach, ich opfer mich doch gerne 😉 Aber irgendwie interessieren die sich nicht für mich … Heute nur 2 Spammails 🙁 Vielleicht mach ich dafür ja was Anderes richtig?
Die Adresse existiert seit über 10 Jahren (hätte gerne mal nachgeschaut, find aber nix) und ebenso lange ist sie bekannt. Ich fühle mich in keinster Weise irgendwie als Opfer von irgendwas oder -wen.
Nebenbei entschlüsseln nicht ^Die^ die Adressen, das geschieht automatisiert und die Bots interessiert es nicht, ob sie mehr oder weniger Arbeit beim Auslesen der Seite zu haben. Die Denken sich kaum „Ach, das umzudrehen ist mir jetzt zu aufwendig … ich lass das mal und mach es vielleicht später, wenn ich nichts unverschleiertes finde“ 😀
Ich geb mich dieser Illusion einfach nicht hin, das ist alles.
Deine hast du übrigens schön verschlüsselt. Die müssen ja nur den ganzen „Aufwand“ betreiben und die sogar direkt im Quelltext eingebettete Javascript-Funktion ausführen 😀 Mit dem „@“ und dem auffälligen Titel „mail_x“ gibts du schon sehr einfache Anhaltspunkte, welche Funktion wohl interessant sein könnte, da muss man ja nur noch den Funktionsaufruf selbst finden.
Entschuldige meine Ironie, aber ich finds einfach witzig 😀 Ich opfere mich vielleicht, aber nicht für dich, weil deine Adresse brauchen sie auch nicht entschlüsseln: Du gibst den Schlüssel ja gleich mit. Und nichtmal die JS-Funktion ist notwendig, denn die Notation mit „_AT_“ und „_DOT_“ ist auch uralt.
Das is, was ich mit „Illusion“ meinte: Man sollte sich die Stärke seiner Verschleierungsmethode schon bewusst sein und im Moment stehn wir auf einer Stufe 😉
Natürlich ist „_AT_“ und „_DOT_“ uralt, und natürlich muss man auch irgendwo den Entschlüsselungscode mitliefern (was will ein „normaler User“ mit verschlüsselten Daten – ohne die Möglichkeit sie zu entschlüsseln). Ich vertraue primär einfach darauf, dass – wenn Google es erst jetzt langsam auf die Reihe bekommt, JavaScript auszuführen – es die Spammer auch großteils nicht können.
Einen 100% Schutz gibt’s sicher nicht. Aber alles ist besser als nichts.
Mit Verlaub: Das ist dumm und naiv!
Das Google JS „nur“ langsam lernt liegt wohl eher daran, dass sie Fehler vermeiden möchten, die Bots bewusst in Kauf nehmen. Zudem ist „Eine Mail-Adresse finden“ dann doch wesentlich leichter, als „Inhalt von Nicht-Inhalt unterscheiden“ und „potentiellen Inhalt indexieren“+Kontext erhalten. Und letzten Endes wenn Google durch JS generierten Inhalt indexiert, was solls dann damit machen? Verlinken geht schlecht 😉 Wozu dann überhaupt erst indexieren? Und warum dann erst ausführen?
Zum Thema „Dekodierung mitliefern“: Es ging mir auch darum, dass die ganze Struktur und die Bezeichner nach „E-Mail“ müffeln. Die Adresse verstecken, aber das Versteck mit einem dicken, roten Pfeil versehen? Das „@“ is irgendwie notwendig, aber die Funktion muss doch nun echt nicht „mail_x“ heißen ….
== „Einen 100% Schutz gibt’s sicher nicht. Aber alles ist besser als nichts.“
Bestimmt, bloss scheint mir sowas eindeutig der falsche Ansatz zu sein. Ich mein: Du bekommst kaum Spam. Prima, deine „Verschlüsselung“ funktioniert. Oder nicht? Ich bekomm auch kaum Spam. Das lässt sich mit Verschleierung nicht erklären. Könnte es dann sein, dass deine „Verschlüsselung“ vielleicht garnicht ausschlaggebend war?
Ich mag ja Gleichnisse 😀
Du kaufst ein Haus und ziehst ein Burggraben drum herum. Nach 2 Jahren sagst du „Siehst du, hat funktioniert: Es ist niemand eingebrochen“. Mal abgesehen davon, dass ein Burggraben eher bedingt ein Hindernis darstellt (ähnlich wie sowas hier ;)), gibt es kein Beweis dafür, dass dieser dafür verantwortlich ist, dass niemand eingebrochen ist.
Von optimalem Schutz rede ich ja gar nicht. Inzwischen verwende ich auch andere Methoden – Ich habe nur bisher noch nicht alle alten Seiten aktualisiert. Allerdings sitzt da ja auch nicht die ganze Zeit jemand vornedran, der guckt, ob eine Funktion verdächtig aussieht. Entweder kann der Spider Javascript – dann ist es sowieso egal, wie man die Mail-Adresse verschlüsselt. Oder er kann es nicht – und dann darf ich meine Funktion auch mail_x nennen.
Jetzt juckt’s mich aber mal wieder im Finger. Ich glaub, ich sollte den Test von TillLate mal wiederholen – Sozusagen der Spam-Test 2010. Nur dumm, dass unser Mail-Server schon so viel ausfiltert. Da muss ich ja dann die Mail-Logs untersuchen 😉
Zu dem Thema gabs mal nen Artikel mit recht interessanten Ergebnissen im Tilllate Techblog: http://techblog.tilllate.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/