160 Stimmen

Wie lässt sich eine E-Mail-Adresse auf einer Website am besten verschleiern?

Ich habe die letzten Tage damit verbracht, meine persönliche Website zu aktualisieren. Die URL meiner persönlichen Website lautet (mein Vorname).(mein Nachname).com, da mein Nachname eher ungewöhnlich ist und ich das Glück hatte, den Domänennamen zu bekommen. Meine E-Mail-Adresse lautet (mein Vorname)@(mein Nachname).com. Es ist also gar nicht so schwer, sie zu erraten.

Wie auch immer, ich möchte einen mailto:-Link in meine Website integrieren, damit man mich kontaktieren kann. Und obwohl meine E-Mail-Adresse nicht sehr schwer zu erraten ist, möchte ich nicht, dass sie von Spam-Bots abgefangen wird, die Websites einfach nach E-Mail-Adressmustern durchsuchen und diese in ihre Datenbank aufnehmen.

Wie kann ich meine E-Mail-Adresse am besten verschleiern, am besten in Form eines Links? Die Methoden, die ich kenne, sind:

<a href="mailto:x@y.com">e-mail me</a>

Es funktioniert, aber es bedeutet auch, dass ich, sobald meine Website bei Google auftaucht, durch Spam waten muss, da Spam-Bots meine E-Mail-Adresse leicht herausfinden.

<img src="images/e-mail.png" />

Dies ist weniger wünschenswert, da die Besucher nicht nur nicht darauf klicken können, um mir eine E-Mail zu schicken, sondern auch schlaue Spam-Bots wahrscheinlich in der Lage sein werden, die im Bild enthaltenen Zeichen zu erkennen.

Ich weiß, dass es wahrscheinlich keine perfekte Lösung gibt, aber ich wollte nur wissen, was jeder für das Beste hält. Ich bin auf jeden Fall bereit, JavaScript zu verwenden, wenn nötig, wie meine Website macht bereits Gebrauch von Tonnen von ihm.

11 Stimmen

Leiten Sie die Nachricht an Ihr GMail-Konto weiter. ;-)

1 Stimmen

Siehe Superuser Frage

0 Stimmen

Diese Stelle sollte hier verlinkt werden.

120voto

chroder Punkte 4273

Ich kodiere die Zeichen als HTML-Entities ( etwas wie dies ). Dazu muss JS nicht aktiviert sein, und es scheint, dass der meiste Spam gestoppt wurde. Ich vermute, dass ein intelligenter Bot ihn immer noch abfangen könnte, aber ich hatte bisher keine Probleme.

0 Stimmen

Ich habe diese Methode schon früher angewandt, aber sie war sehr einfach für ich um es zu umgehen (in einigen Fällen für das Parsen meiner eigenen Dokumente), also kann ich mir nicht vorstellen, dass es für einen Bot weniger schwierig wäre.

6 Stimmen

Dies verhindert die einfachste Art des Spambot-Sammelns (Regex sucht nach jedem Text, der einer E-Mail-Adresse ähnelt) und hat keinen Nachteil: Es ist für den Endbenutzer genauso bequem wie der explizite href=mailto:xxx@yy Link.

1 Stimmen

Ich habe diese Methode schon früher angewandt, und sie scheint recht gut zu funktionieren. Es ist ungefähr die einzige Methode, die ich finden konnte, die auch in Lynx/w3m funktioniert.

86voto

Chad Birch Punkte 70946

Ich persönlich habe es aufgegeben, meine E-Mail-Adresse zu verstecken. Ich finde es einfacher, nach besseren Lösungen für die Spam-Filterung zu suchen, als mich um die Verschleierung zu kümmern. Man kann Tage damit verbringen, den besten Weg zu finden, seine Adresse zu verschleiern, und dann braucht es nur noch eine Person, die die Adresse an einen Spammer verkauft, und die ganze Arbeit war umsonst.

1 Stimmen

Egal wie gut Ihre Spam-Filterung ist, es wird immer wieder falsch-negative Mails geben (Mails, die durchkommen, die nicht durchkommen sollten). Letztendlich müssen Sie mit der E-Mail-Adresse leben, aber es scheint, dass diese Art der unnötigen Exposition die Häufigkeit von Spam-Mails erhöhen würde, die durchkommen.

9 Stimmen

@Brad, meiner Erfahrung nach ist dies nicht der Fall. Ich verwende Google Hosted Mail für meine Domains und meine E-Mail-Adresse lautet extrem leicht zu finden. Seit ich vor mehr als 14 Monaten mit der Anwendung begonnen habe, hatte ich 0 falsch negative und 1 falsch positive Ergebnisse. Ich erhalte täglich mehrere hundert Spams in meinem Spam-Ordner.

0 Stimmen

Bei Google Mail erhalte ich einen Haufen falscher Negativmeldungen. YMMV.

69voto

JoshJordan Punkte 12297

Die gängige Lösung besteht darin, ein Kontaktformular zu erstellen, über das Benutzer eine E-Mail an Sie senden können. Wenn Sie dadurch viel Spam erhalten (auf meiner Website ist das nicht der Fall), können Sie zur Sicherheit ein Captcha hinzufügen, und Sie sind dann weit von der "niedrig hängenden Frucht" entfernt.

Wenn Sie einen Link bereitstellen, auf den ein Benutzer klicken kann, um sein E-Mail-Programm mit Ihrer Adresse im Feld "An:" zu öffnen, dann ist der Computer in der Lage, die E-Mail-Adresse von der Seite zu entschlüsseln, und das kann auch ein Spam-Bot.

2 Stimmen

Das heißt, die Logik zum Senden der E-Mail sollte in einem versteckten serverseitigen Code geschrieben werden, so dass die Adresse niemals veröffentlicht wird.

11 Stimmen

Technisch gesehen ist das zwar eine gute Lösung, aber für viele Nutzer ist es eine unangenehme Sache. Ich sag's ja nur.

0 Stimmen

Sie haben völlig Recht, aber ich habe nie verstanden, warum. Sie sind höchstens einen Klick vom Webformular entfernt, genau wie bei Minimum mit einem E-Mail-Client. Das einzige, was die Sache erschwert, ist das optionale Captcha. Wenn ein Nutzer das nicht überwinden kann, um Sie zu kontaktieren, war seine Nachricht dann wichtig?

46voto

Bob Somers Punkte 7216

Sie haben erwähnt, dass dies für Ihre persönliche Website ist. Auf meiner persönlichen Website (z. B. bobsomers.com) habe ich nur einen Absatz, in dem dies steht:

Der beste Weg, mit mir in Kontakt zu treten bevor die neue Website online ist, ist eine eine E-Mail. Meine E-Mail-Adresse ist mein erster Name auf dieser Website. Wenn Sie es nicht herausfinden können, dieser Hinweis, nun, dann ist E-Mail für Sie vielleicht eine größere Herausforderung als das Herausfinden meiner Adresse.

Die Leute scheinen das problemlos herauszufinden, denn ich erhalte ständig legitime E-Mails. Manchmal muss man für die besten Lösungen gar keinen Code schreiben :)

12 Stimmen

Diese Methode filtert auch Menschen mit einem IQ unter einem bestimmten Niveau heraus :D

35voto

Fabio Poloni Punkte 7891

Ein leichter Weg zur Verschleierung der href eines Ankers besteht darin, ihn mit base64 zu verschlüsseln:

> btoa('mailto:email@example.com')
< "bWFpbHRvOmVtYWlsQGV4YW1wbGUuY29t"

Und dann fest kodiert einfügen:

<a href="javascript:window.location.href=atob('bWFpbHRvOmVtYWlsQGV4YW1wbGUuY29t')">E-Mail</a>

Oder dynamisch serverseitig z.B. in PHP:

<a href="javascript:window.location.href=atob('<?= base64_encode("mailto:email@example.com") ?>')">E-Mail</a>

In Kombination mit der Umkehrung von Zeichenketten könnte dies ziemlich spamsparend sein:

<a href="javascript:window.location.href=atob('<?= base64_encode("mailto:email@example.com") ?>')" style="unicode-bidi: bidi-override; direction: rtl;"><?= strrev("email@example.com") ?></a>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X