tl; dr
Verstecken Sie die E-Mail-Adresse vor Bots, ohne Skripte zu verwenden, und behalten Sie die mailto:
Funktionalität bei. Die Methode muss auch Screenreader unterstützen.
Zusammenfassung
E-Mail- Verschleierung ohne Verwendung von Skripten oder Kontaktformularen
Die E-Mail-Adresse muss für den menschlichen Betrachter vollständig sichtbar sein und die
mailto:
Funktionalität beibehaltenDie E-Mail-Adresse darf nicht in Bildform vorliegen .
Die E-Mail-Adresse muss "vollständig" vor Spam-Crawlern, Spam-Bots und anderen Harvester-Typen verborgen sein
Gewünschter Effekt:
Bitte keine Skripte . Im Projekt werden keine Skripte verwendet, und ich möchte, dass dies auch so bleibt .
Die E-Mail-Adresse wird entweder auf der Seite angezeigt oder kann nach einer Benutzerinteraktion wie dem Öffnen eines Modals einfach angezeigt werden.
Der Benutzer kann auf die E-Mail-Adresse klicken, die wiederum die
mailto:
Funktionalität auslösen würde .Durch Klicken auf die E-Mail wird die E-Mail-Anwendung des Benutzers geöffnet.
Mit anderen Worten,
mailto:
Funktionalität muss funktionieren.Die E-Mail-Adresse ist nicht sichtbar oder wird nicht als E-Mail-Adresse für Bots identifiziert (einschließlich der Seitenquelle).
Ich habe keinen Posteingang voller Spam
Was bedeutet NICHT Arbeit
Hinzufügen eines Kontaktformulars - oder eines ähnlichen - anstelle der E-Mail-Adresse
Ich hasse Kontaktformulare . Ich fülle selten ein Kontaktformular aus. Wenn es keine E-Mail-Adresse gibt, suche ich nach einer Telefonnummer, und wenn diese nicht vorhanden ist, suche ich nach einem alternativen Dienst. Ich würde ein Kontaktformular nur ausfüllen, wenn ich unbedingt muss.
Ersetzen der Adresse durch ein Bild der Adresse
Dies schafft einen RIESIGEN Nachteil für jemanden, der einen Screenreader verwendet ( bitte denken Sie an die Sehbehinderten in Ihren zukünftigen Projekten ).
Außerdem wird die
mailto:
Funktionalität entfernt, es sei denn, Sie machen das Bild anklickbar und fügen dann diemailto:
Funktionalität alshref
für den Link hinzu. Dies macht jedoch den Zweck zunichte und die E-Mail ist jetzt für Bots sichtbar.
Was könnte funktionieren:
Clevere Verwendung von
pseudo-elements
inCSS
Lösungen, die
base64
Codierung verwendenAufteilen der E-Mail-Adresse und Verteilen der Teile auf das Dokument, dann Zusammenfügen in einem Modal, wenn der Benutzer auf eine Schaltfläche klickt (dies umfasst wahrscheinlich mehrere
CSS
Klassen und die Verwendung vonanchor tags
).html
Attribute ändern überCSS
@MortezaAsadi hat die Möglichkeit in den Kommentaren unten anmutig angesprochen. Dies ist der Link zum vollständigen - Der Artikel ist aus dem Jahr 2012:
Was wäre, wenn wir CSS verwenden könnten, um HTML-Attribute zu ändern?
Andere kreative Lösungen, die über meinen Wissensbereich hinausgehen.
Ähnliche Fragen / Korrekturen
(Dies ist eine großartige Lösung, die von Joe Maller vorgeschlagen wurde. Sie funktioniert gut, basiert jedoch auf Skripten . So sieht sie aus;
<SCRIPT TYPE="text/javascript">
emailE = 'emailserver.com'
emailE = ('yourname' + '@' + emailE)
document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>')
</script>
<NOSCRIPT>
Email address protected by JavaScript
</NOSCRIPT>
Auf der Suche nach einer PHP nur E-Mail-Adresse Verschleierung Funktion
(A Clevere Lösung sowohl mit
PHP
undCSS
zum ersten umkehren die E - Mail mit PHP dann umkehren wieder mit CSS) einer sehr viel versprechende Lösung , die großen Werke! Aber es ist zu einfach zu lösen .Lohnt es sich heutzutage, E-Mail-Adressen im Web zu verschleiern?
(Javascript Fix)
Der beste Weg, um eine E-Mail-Adresse auf einer Website zu verschleiern?
Die ausgewählte Antwort funktioniert . Es funktioniert wirklich sehr gut. Dabei wird die E-Mail als verschlüsselt
html entities
. Kann es verbessert werden?So sieht es aus;
<A HREF="mailto: yourname@domain.com"> yourname@domain.com </A>
Funktioniert die Verschleierung von E-Mail-Adressen tatsächlich?
(Die ausgewählte Antwort auf diese SuperUser-Frage ist großartig und enthält eine Studie zur Menge an Spam, die mit verschiedenen Verschleierungsmethoden empfangen wurde.
Es scheint , dass mit der E - Mail - Adresse manipulieren
CSS
machenrtl
funktioniert. Dies ist die gleiche Methode, die in der ersten Frage verwendet wurde, auf die ich in diesem Abschnitt verwiesen habe.Ich bin mir nicht sicher, welche Auswirkungen das Hinzufügen von
mailto:
Funktionen zum Fix auf die Ergebnisse haben würde.Es gibt auch viele andere Fragen zu SO, die alle ähnliche Antworten haben. Ich habe nichts gefunden, was zu meinem gewünschten Effekt passt
Die Frage:
Wäre es möglich, die Effizienz (dh so wenig Spam wie möglich) der oben genannten E-Mail-Verschleierungsmethoden zu erhöhen, indem zwei oder mehr der Fixes kombiniert (oder sogar neue Fixes hinzugefügt werden), während:
A- Aufrechterhaltung der mailto:
Funktionalität; und
B- Unterstützung von Screenreadern
Bearbeiten:
Viele der folgenden Antworten und Kommentare werfen eine sehr gute Frage auf und zeigen gleichzeitig, dass es unmöglich ist, dies ohne irgendeine Art von zu tunjs
Die gestellte / implizierte Frage lautet:
Warum nicht verwenden
js
?
Die Antwort ist, dass ich allergisch bin js
Scherz beiseite,
Die drei Hauptgründe, warum ich diese Frage gestellt habe, sind:
Kontaktformulare werden immer mehr als Ersatz für die Angabe einer E-Mail-Adresse akzeptiert - was sie nicht sollten.
Wenn dies ohne Skripterstellung möglich ist, sollte dies ohne Skripterstellung erfolgen.
Neugier: (da ich
js
derzeit tatsächlich eine der Korrekturen verwende) Ich wollte sehen, ob die Diskussion der Angelegenheit zu einer besseren Vorgehensweise führen würde.
mailto:
Funktionalität beibehalten möchten und nicht bereit sind, Javascript zu verwenden, ist dies einfach nicht möglich.