Heim >Web-Frontend >js-Tutorial >So stoppen Sie die Spam -Ernte mit E -Mail -Verschleierung

So stoppen Sie die Spam -Ernte mit E -Mail -Verschleierung

Lisa Kudrow
Lisa KudrowOriginal
2025-03-06 01:10:08602Durchsuche

So stoppen Sie die Spam -Ernte mit E -Mail -Verschleierung

Der Tag, an dem ich den „Mailto:“ -Link entdeckte, war herrlich. Ich könnte meine Adresse auf einer Webseite veröffentlichen und jeder könnte mir eine E -Mail mit einem einzigen Klick senden. Dies war in den unschuldigeren Tagen des Webs - bevor die Spam -Ernte übernahm. Verwenden Sie heute ein "Mailto:" und Ihre erste Viagra -Nachricht wird 30 Sekunden später angezeigt. Wie können Sie also eine E -Mail -Adresse veröffentlichen, ohne unerwünschte Aufmerksamkeit von Spammer zu erregen? Die offensichtlichste Lösung ist die Verwendung einer maschinell nicht lesbaren E-Mail in Ihrem HTML, z. "Bob (at) Bobdomain dot com". Dies macht es für Spammer schwierig, aber es macht es Ihren Benutzern auch schwer. So stoppen Sie die Spam -Ernte mit E -Mail -Verschleierung Eine andere Option besteht darin, die E -Mail -Adresse mit JavaScript zu generieren, möglicherweise mit einer kleinen String -Verkettung oder einer Codierung, z.
<p>contact 
<script type="text/javascript">
document.write('<a href="mai'+"lto"+"bob"+'@'+'bobsdomain.com">bob@'+"bobsdomain.com</a>");
</script>
</p>
Dies wird die meisten Spammer aufhalten, aber jeder mit deaktivierter JavaScript wird Ihre Adresse nicht sehen. (Ich würde auch nicht empfehlen, document.write zu verwenden.) Eine bessere Lösung besteht darin, eine Kombination von Techniken zu verwenden, um Spammer zu vereiteln, ohne Benutzerschwierigkeiten zu verursachen. Der erste Schritt besteht darin, eine menschlich-lesbare, aber marentische E-Mail-Adresse in unserer HTML zu verwenden. Wir werden dies auch zu einem Link zu einer Kontaktseite machen, z.
<p>Contact <a href="contact.html" >bob (at) bobsdomain dot com</a></p>
Beachten Sie, dass wir eine Klasse von „E -Mail“ aufgenommen haben, damit unser Link identifiziert werden kann. Der nächste Schritt besteht darin, eine JavaScript -Funktion zu schreiben, die Ihre Seite nach verschleierten E -Mails durchsucht und sie in echte "Mailto:" -Links verwandelt. Wir erstellen eine "E -Mail.js -Datei" und in unserem HTML ein:
<script type="text/javascript" src="email.js"></script>
Der erforderliche Code ist kurz, daher benötigen wir keine JavaScript -Bibliothek: Inhalt von E -Mail.js:
function EmailUnobsfuscate() {
	
	// find all links in HTML
	var link = document.getElementsByTagName && document.getElementsByTagName("a");
	var email, e;
	
	// examine all links
	for (e = 0; link && e < link.length; e++) {
	
		// does the link have use a class named "email"
		if ((" "+link[e].className+" ").indexOf(" email ") >= 0) {
		
			// get the obfuscated email address
			email = link[e].firstChild.nodeValue.toLowerCase() || "";
			
			// transform into real email address
			email = email.replace(/dot/ig, ".");
			email = email.replace(/(at)/ig, "@");
			email = email.replace(/s/g, "");
			
			// is email valid?
			if (/^[^@]+@[a-z0-9]+([_.-]{0,1}[a-z0-9]+)*([.]{1}[a-z0-9]+)+$/.test(email)) {
			
				// change into a real mailto link
				link[e].href = "mailto:" + email;
				link[e].firstChild.nodeValue = email;
		
			}
		}
	}
}
Eine Erklärung des Code:
  1. Zeile 4 holt jeden Link in unserer HTML -Seite und Zeile 8 -Schleifen durch.
  2. Zeile 11 überprüft den Link auf eine Klasse von „E -Mail“.
  3. Zeile 14 greift die verschleierte E -Mail aus dem Textinhalt des Knotens.
  4. Zeilen 17 bis 19 verwandeln es mit regulären Ausdrücken in eine echte E -Mail -Adresse: "Dot" wird in ein ".", "(At)" geändert in "@" geändert und alle Räume werden entfernt.
  5. Zeile 22 prüft die resultierende E -Mail -Adresse ist gültig.
  6. Zeilen 25 und 26 modifizieren Sie den DOM -Knoten und machen Sie ihn in einen echten "Mailto:" -Link.
Schließlich müssen wir sicherstellen, dass die Funktion auf der Seite geladen wird, indem wir eine Zeile zum Ende von E -Mail.js hinzufügen:
window.onload = EmailUnobsfuscate;
Das Ergebnis:
  • Unsere ursprüngliche HTML -Seite enthält keine "Mailto:" -Links und kann nicht leicht von Spammer geerntet werden.
  • Die Mehrheit der Benutzer (diejenigen mit aktiviertem JavaScript) sehen eine Standard -E -Mail -Adresse und „mailto:“ Link.
  • Jemand, der nicht JavaScript ausführt
  • Diese Absicht dieses Artikels ist es, das Konzept und nicht den echten Code zu zeigen. Obwohl das Beispiel funktioniert, schlage ich Ihnen vor:
    Verwenden Sie Ihr eigenes verschleiertes E -Mail -Format, z. „Bob {@}Bobdomain -dot -com ”. Spammer können diesen Artikel lesen und codierte E -Mails genauso einfach verwandeln wie Sie!
  • Verwenden Sie eine andere Link -Kennerklasse - "E -Mail" ist etwas offensichtlich!
  • Verwenden Sie eine JavaScript -Bibliothek wie JQuery, um die Funktion kürzer zu machen. Sie sollten auch sicherstellen, dass es mit Whitespace oder anderen DOM -Knoten um den E -Mail -Adresstext abgestimmt ist (nicht im obigen Code).
  • Ersetzen Sie das Fenster. Nach einem robusteren Ereignishandler.
Viel Glück.

häufig gestellte Fragen zur E -Mail -Verschleierung

Was ist der Hauptzweck der E -Mail -Verschleierung? Es beinhaltet die Verkündigung oder Kodierung der E -Mail -Adresse auf eine Weise, die es automatisierten Programmen, die als Bots bezeichnet werden, schwierig machen, sie zu erkennen oder zu sammeln. Es bleibt jedoch für menschliche Besucher immer noch lesbar und nutzbar. Diese Technik ist für Website -Eigentümer von entscheidender Bedeutung, die ihre E -Mail -Adressen öffentlich anzeigen möchten, aber nicht angeforderte E -Mails empfangen möchten. Dies kann auf verschiedene Arten erfolgen, z. B. die Verwendung von Zeicheneinheiten, JavaScript oder CSS -Tricks. Beispielsweise kann eine E -Mail -Adresse wie "info@example.com" als "info (at) (dot) com" verschleiert werden. Trotz der Verschleierung bleibt die E -Mail -Adresse funktional und kann normal von menschlichen Besuchern verwendet werden. Anspruchsvolle Bots können möglicherweise noch verschleierte E -Mail -Adressen entschlüsseln. Es fügt jedoch eine zusätzliche Schutzebene hinzu und erschwert es Spammer, Ihre E -Mail -Adresse zu ernten. Die verschleierte E -Mail -Adresse sollte für menschliche Besucher weiterhin lesbar und nutzbar sein. Es ist jedoch wichtig sicherzustellen, dass die verwendete Verschleierungsmethode die Funktionalität der E -Mail -Adresse nicht beeinträchtigt.

Kann eine E -Mail -Verschleierung mit einer E -Mail -Adresse verwendet werden? Es ist eine Technik, die unabhängig vom E -Mail -Anbieter oder der Domäne der E -Mail -Adresse ist. Es kann mit persönlichen, geschäftlichen oder institutionellen E-Mail-Adressen verwendet werden.

Ist eine E-Mail-Verschleierung ein einmaliger Prozess? Wenn Spammer und ihre Bots anspruchsvoller werden, kann es erforderlich sein, Ihre Verschleiftungsmethoden zu aktualisieren oder zu ändern, um einen kontinuierlichen Schutz zu gewährleisten.

Kann eine E -Mail -Verschleierung in Verbindung mit anderen Spam -Präventionsmethoden verwendet werden? Dies kann Techniken wie CAPTCHA, Spam -Filter und die Verwendung von Kontaktformularen enthalten, anstatt die E -Mail -Adressen öffentlich anzuzeigen. Die Verschleierung wirkt sich nur aus, wie die E -Mail -Adresse angezeigt wird, nicht wie sie funktioniert. E -Mails, die an eine verschleierte E -Mail -Adresse gesendet werden, werden als normal geliefert.

Ist eine E -Mail -Verschleierung für alle Websites erforderlich? Dies umfasst Geschäftswebsites, Blogs, Foren und jede andere Website, auf der E -Mail -Adressen für Besucher zugänglich sein müssen.

Wie kann ich meine E -Mail -Adresse verschleiern? Es stehen auch Online -Tools und Plugins zur Verfügung, mit denen Sie Ihre E -Mail -Adresse für Sie verschleiern können. Die Methode, die Sie auswählen, hängt von Ihren spezifischen Anforderungen und technischen Funktionen ab.

Das obige ist der detaillierte Inhalt vonSo stoppen Sie die Spam -Ernte mit E -Mail -Verschleierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn