Maison >interface Web >js tutoriel >Comment arrêter la récolte du spam avec l'obscurcissement des e-mails

Comment arrêter la récolte du spam avec l'obscurcissement des e-mails

Lisa Kudrow
Lisa Kudroworiginal
2025-03-06 01:10:08608parcourir

Comment arrêter la récolte du spam avec l'obscurcissement des e-mails

Le jour où j'ai découvert le lien «Mailto», était glorieux. Je pouvais publier mon adresse sur une page Web et n'importe qui pourrait m'envoyer un e-mail en un seul clic. C'était dans les jours les plus innocents du Web - avant que les récolteurs de spam ne prennent le relais. Utilisez un «mailto»: aujourd'hui et votre premier message de viagra apparaîtra 30 secondes plus tard. Alors, comment pouvez-vous publier une adresse e-mail sans attirer l'attention indésirable des spammeurs? La solution la plus évidente consiste à utiliser un e-mail de mitrailleuse dans votre HTML, par exemple «Bob (at) bobsdomain dot com». Bien que cela soit difficile pour les spammeurs, cela rend également difficile pour vos utilisateurs. Comment arrêter la récolte du spam avec l'obscurcissement des e-mails Une autre option consiste à générer l'adresse e-mail à l'aide de JavaScript, peut-être avec une petite concaténation de chaîne ou un codage, par exemple
<p>contact 
<script type="text/javascript">
document.write('<a href="mai'+"lto"+"bob"+'@'+'bobsdomain.com">bob@'+"bobsdomain.com</a>");
</script>
</p>
Cela empêchera la plupart des spammeurs, mais toute personne atteinte de JavaScript Disabled ne verra pas votre adresse. (Je ne recommanderais pas non plus d'utiliser Document.Write.) Une meilleure solution consiste à utiliser une combinaison de techniques pour contrecarrer les spammeurs sans causer de difficultés aux utilisateurs. La première étape consiste à utiliser une adresse e-mail lisible par l'homme mais à l'épreuve des moissonneuses dans notre HTML. Nous en ferons également un lien vers une page de contact, par exemple
<p>Contact <a href="contact.html" >bob (at) bobsdomain dot com</a></p>
Notez que nous avons inclus une classe de «e-mail» afin que notre lien puisse être identifié. L'étape suivante consiste à écrire une fonction JavaScript qui recherche votre page pour les e-mails obscurcis et les transforme en liens réels «MailTo:». Nous allons créer un fichier `` Email.js »et l'inclure dans notre HTML:
<script type="text/javascript" src="email.js"></script>
Le code requis est court, nous n'avons donc pas besoin d'une bibliothèque JavaScript: Contenu de Email.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;
		
			}
		}
	}
}
Une explication du code:
  1. ligne 4 récupère chaque lien dans notre page HTML et les boucles de ligne 8 à travers elles.
  2. Ligne 11 vérifie le lien pour une classe de «e-mail».
  3. Ligne 14 saisit l'e-mail obscurci du contenu texte du nœud.
  4. Les lignes 17 à 19 le transforment en une véritable adresse e-mail en utilisant des expressions régulières: «DOT» est changé en «.», «(At)» est changé en «@», et tous les espaces sont supprimés.
  5. Ligne 22 Vérifies L'adresse e-mail résultante est valide.
  6. Lignes 25 et 26 Modifiez ensuite le nœud Dom et en faites un véritable lien «mailto:».
Enfin, nous devons nous assurer que la fonction s'exécute sur le chargement de la page en ajoutant une ligne au bas de Email.js:
window.onload = EmailUnobsfuscate;
Le résultat:
  • Notre page HTML d'origine ne contient aucun lien «MailTo:» et ne peut pas être facilement récoltée par les spammeurs.
  • La majorité des utilisateurs (ceux avec JavaScript activés) verront une adresse e-mail standard et un lien «MailTo:».
  • Quiconque n'exécute pas JavaScript verra l'adresse «Bob (at) bobsdomain dot com» lisible.
Cette intention de cet article est de montrer le concept plutôt que le code réel. Bien que l'exemple fonctionne, je vous suggère:
  • Utilisez votre propre format de messagerie obscurci, par ex. «Bob {@}bobsdomain -dot- com ». Les spammeurs peuvent lire cet article et transformer les e-mails codés aussi facilement que vous!
  • Utilisez une classe d'identificateur de liens différentes - "Email" est un peu évident!
  • Utilisez une bibliothèque JavaScript, comme JQuery, pour rendre la fonction plus courte. Vous devez également vous assurer qu'il fait des fêtes avec un espace ou d'autres nœuds DOM autour du texte de l'adresse e-mail (non géré dans le code ci-dessus).
  • Remplacez la fenêtre.oné par un gestionnaire d'événements plus robuste.
Bonne chance.

Les questions fréquemment posées sur l'obscurcissement des e-mails

Quel est l'objectif principal de l'obscurcissement des e-mails?

L'obscuscation par e-mail est principalement utilisée pour protéger les adresses e-mail contre la récolte par les spammeurs. Cela implique de déguiser ou de coder l'adresse e-mail d'une manière qui rend difficile les programmes automatisés, appelés bots, pour le reconnaître ou le collecter. Cependant, il reste lisible et utilisable pour les visiteurs humains. Cette technique est cruciale pour les propriétaires de sites Web qui souhaitent afficher leurs adresses e-mail publiquement mais qui souhaitent éviter de recevoir des e-mails non sollicités.

Comment fonctionne l'obfuscation des e-mails?

L'obfuscation des e-mails fonctionne-t-elle en codant ou en déguisant l'adresse e-mail d'une manière qui est difficile pour les robots pour décider. Cela peut être fait de plusieurs manières, comme l'utilisation d'entités de caractères, JavaScript ou CSS. Par exemple, une adresse e-mail comme «info@example.com» peut être obscurcie comme «Info (at) Exemple (dot) com». Malgré l'obscurcissement, l'adresse e-mail reste fonctionnelle et peut être utilisée normalement par les visiteurs humains.

L'obscurcissement par e-mail est-il infaillible?

Bien que l'obscuscation par e-mail puisse réduire considérablement la quantité de spam que vous recevez, elle n'est pas complètement infaillible. Les bots sophistiqués peuvent toujours déchiffrer les adresses e-mail obscurcies. Cependant, cela ajoute une couche de protection supplémentaire et rend plus difficile pour les spammeurs de récolter votre adresse e-mail.

L'obscurcissement des e-mails affecte-t-il l'expérience utilisateur?

Si cela est fait correctement, l'obscurcissement des e-mails ne devrait pas avoir un impact négatif sur l'expérience utilisateur. L'adresse e-mail obscurcie doit toujours être lisible et utilisable pour les visiteurs humains. Cependant, il est important de s'assurer que la méthode d'obscurcissement utilisée n'interfère pas avec la fonctionnalité de l'adresse e-mail.

peut-on utiliser l'obscurcissement par e-mail avec n'importe quelle adresse e-mail?

Oui, l'obscuscation par e-mail peut être utilisée avec n'importe quelle adresse e-mail. Il s'agit d'une technique indépendante du fournisseur de messagerie ou du domaine de l'adresse e-mail. Il peut être utilisé avec des adresses e-mail personnelles, commerciales ou institutionnelles.

Est-ce que l'obscurcissement par e-mail est un processus ponctuel?

L'obscuscation par e-mail n'est pas nécessairement un processus ponctuel. À mesure que les spammeurs et leurs robots deviennent plus sophistiqués, il peut être nécessaire de mettre à jour ou de modifier vos méthodes d'obscurcissement pour assurer une protection continue.

L'obscuscation par e-mail peut-elle être utilisée en conjonction avec d'autres méthodes de prévention des spams?

Oui, l'obscurcissement par e-mail peut et doit être utilisé conjointement avec d'autres méthodes de prévention des spams pour une protection maximale. Cela peut inclure des techniques telles que le captcha, les filtres de spam et l'utilisation de formulaires de contact au lieu d'afficher publiquement les adresses e-mail.

L'obscurcissement des e-mails affecte-t-il la délivrabilité des e-mails?

Non, l'obscuscation par e-mail n'affecte pas la délivrabilité des e-mails. L'obscurcissement n'affecte que la façon dont l'adresse e-mail est affichée, et non son fonctionnement. Les e-mails envoyés à une adresse e-mail obscurcie seront livrés comme normaux.

L'obscuscation par e-mail est-elle nécessaire pour tous les sites Web?

Bien que tous les sites Web ne puissent pas avoir besoin d'obscurcissement des e-mails, il est fortement recommandé pour les sites Web qui affichent publiquement les adresses e-mail. Cela inclut les sites Web d'entreprise, les blogs, les forums et tout autre site Web où les adresses e-mail doivent être accessibles aux visiteurs.

Comment puis-je obscurcir mon adresse e-mail?

Il existe plusieurs méthodes pour obscurcir votre adresse e-mail, y compris l'utilisation d'entités de caractères, Javascript ou CSS. Il existe également des outils et des plugins en ligne disponibles qui peuvent obscurcir votre adresse e-mail pour vous. La méthode que vous choisissez dépendra de vos besoins spécifiques et de vos capacités techniques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn