Blog Web & Design

Les techniques pour éviter le spam de son adresse e-mail

Solutions anti-spam
j'aimeCommenter
Taggué dans : ,

Dans cet article je vous présente mes différentes techniques pour masquer son adresse email sur un site et ainsi éviter d’avoir sa boite e-mail spamée.

Besoin de faire sécuriser un site WordPress ou réparer un site WordPress ? Contactez-moi

Comme vous le savez, chaque jour de nombreux robots parcourent votre site à la recherche d’informations diverses et certains bots sont spécialisés dans la recheche et la collecte d’adresses e-mails dans un but de vous spammer.


Au sommaire :


Voyons ensemble les différentes solutions anti-pourriels :

Si vous avez le contrôle du code

1. En css, la technique du faux arobase

Dans cette méthode, pour éviter le spam, nous allons ajouter le signe arobase @ à l’aide d’une balise span qui remplacera le vrai signe arobase.

En effet, l’arobase est un symbole facilement reconnaissable par les programmes malveillants qui scannent les pages web chaque seconde, car c’est un composant essentiel d’une adresse-email.

L’interet de cette technique est que le code html d’origine ne contient pas l’adresse en clair. Un inconvenient est que si on selectionne le texte, l’arobase risque de ne pas être pris en compte.

Le CSS :

Voici le bout de code à ajouter à votre feuille .css

.arobase::before { content: "
.arobase::before { content: "\0040"; } /* Code unicode pour @ */
40"; } /* Code unicode pour @ */

Le HTML :

Et le code HTML correspondant. Vous remplacerez donc la premère partie par l’utisilateur, et la seconde par le domaine (exemple:google.com).

<span>contact<span class="arobase"></span>monsite.com</span>

Une fois enregistré, l’adresse e-mail devrait s’afficher normalement, comme ceci : contact@monsite.com

J’ai une page dediée à cette technique : antispam.css


2. En javascript

On peut utiliser du Javascript pour modifier le contenu html, l’avantage est que ce changement s’effectue sur le navigateur du visiteur et une fois que le site est chargé. Cette particularité de javascript fait qu’il permet de déjouer dès le départ certains robots spammeurs.

Le Javascript (jQuery) :

(function( $ ){

	function antiMailSpam(){

         $(".email").each(function(){

        	var realemail = $(this).text().replace('(at)','@').replace('(dot)','.');

        	$(this).text(realemail); 

        });


        $("a.email").each(function(){

            var href = $(this).attr('href');

            if(href.indexOf('mailto:')!=-1){

                href = href.replace('(at)','@');
                $(this).attr('href',href);
               
                var text = $(this).text().replace('(at)','@');
                $(this).text(text); 
                              
            }

        });

	} // fin fonction


	$(document).on('ready', function(){

		antiMailSpam();

    });

})( jQuery );

Le HTML :

 

Voir sur Framagit : https://framagit.org/snippets/3117


3. En php, la technique de l’offuscation

Si votre site utilise la technologie PHP, (ce qui est le cas pour WordPress) vous allez pouvoir masquer automatiquement les adresses emails grâce à une fonction à utiliser sur chaque e-mail.

La fonction « obfuscate email »

function obfuscate_email($email){
	$email = str_replace(' ', '', $email );
    $email = str_replace('@', '(at)', $email );
    $email = str_replace('.com', '(point)com', $email );
    return $email;
}

function obfuscate_mailto($email){
    return 'mailto:' . obfuscate_email($email);
}

Utilisation

<?php $email = 'nom@domaine.fr'; ?>
<a class="email" href="<?php echo obfuscate_mailto($email); ?>" title="Adresse e-mail"><?php echo obfuscate_email($email); ?></a>

Le rendu HTML

Une fois la fonction appliquée, les caractères spéciaux de l’adresse email sont automatiquement remplacés.

<a class="email" href="nom(at)domaine(dot)fr" title="Adresse e-mail">nom(at)domaine(dot)fr</a>

Pour avoir un rendu cliquable par l’utilisateur, vous devez ensuite appliquer la solution jQuery que nous avons vu plus haut.

Pour aller plus loin, on peut imaginer une solution pour détecter et remplacer automatiquement toutes les adresses e-mails d’une page en PHP grâce au Regex, mais j’en parlerai dans un autre article.


4. Antispam d’e-mail avec WordPress

WordPress est également construit en PHP, et une solution antispam WordPress à déjà été pensée par la communauté, c’est la fonction antispambot()

La fonction anti-spambot fonctionne principalement sur le remplacement du symbole arobase, par son équivalent ASCII, à savoir le symbole ayant le code 64.

( Vous pouvez d’ailleurs accéder à ce symbole en appuyant sur les touches [6] puis [4] tout en maintenant la touche [Alt], en relâchant vous obtenez le symbole @. )

 <?php antispambot( 'nom@domaine.fr', $hex_encoding = 1 ); ?>

Si vous souhaitez appliquer cette fonction à l’ensemble du contenu et des widgets, voici la fonction à utiliser :

// How to automatically hide email adresses from spambots on your WordPress blog
function wp5879_security_remove_emails($content) {
    $pattern = '/([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4})/i';
    $fix = preg_replace_callback($pattern,"wp5879_security_remove_emails_logic", $content);

    return $fix;
}
function wp5879_security_remove_emails_logic($result) {
    return antispambot($result[1]);
}
add_filter( 'the_content', 'wp5879_security_remove_emails', 20 );
add_filter( 'widget_text', 'wp5879_security_remove_emails', 20 );

Ce code est à rajouter dans le fichier functions.php


5. La technique de l’adresse e-mail en image

Une solution qui date un peu mais qui fonctionne très bien, est de mettre son adresse e-mail au format image, ainsi les bots qui ne savent pas décoder les images (et il y en a beaucoup) n’ont aucune chance de récupérer votre adresse. L’inconvénient de cette méthode est qu’elle n’est pas très flexible en terme de graphisme, il est impossible de personnaliser l’affichage du texte en CSS.


Si vous n’avez pas le controle du code

Dans les cas ou l’accès et la modification du code est impossible, voici quelques conseils pour éviter le courrier indésirable.

1. Eviter les e-mails « en clair »

L’un des conseils que je peux vous donner est de ne jamais mettre sont adresse email complète dans un post, un article, un commentaire, que ce soit sur Facebook, Twitter ou un autre réseau publique. Il est très facile de récupérer ce genre d’adresse avec la technique du Regex par exemple.

Pour masquer sont adresse en ligne tout en restant lisible, il est possible d’utiliser des mots en remplacement des signes, comme : « contact(arobase)gmail(point)com », ce n’est pas très beau mais ça evitera aux robots de scanner le contenu du texte est de le reconnaitre comme étant une adresse email.

2. Utiliser une autre adresse e-mail

A moins d’avoir spécialisement créé une adresse « poubelle » uniquement destinée à être partagée et avec un fort « taux de spammabilité » ce qui est la meilleure méthode à mon avis, mais un peu fastidieuse à gérer, vous pouvez créer des aliases.

Créer un alias dans Gmail

Vous ne le savez peut-être pas mais sur Gmail il vous est possible de créer un alias, pour cela il vous suffit d’utiliser le symbole « + » derrière votre nom d’utilisateur habituel, juste avant le symbole arobase @, exemple : moi+spam@gmail.com.

Utiliser les alias de GMX (Caramail)

Un autre fournisseur d’e-mails que j’apprécie et que je recommande est GMX, car il permet en un clic de créer une adresse alias totalement différente de la première et chose intéressante de pouvoir envoyer des e-mail avec cet alias.
En un clic egalement vous pouvez supprimer cet alias, ce qui est très pratique.

3. Les e-mails temporaires

Certains services vous proposent de créer un e-mail temporaire qui s’auto-détruit lorsque vous ne l’utilisez plus. Ces services s’appellent des Recherche « Trash Mails » sur Qwant.


Malgré tout

Malgré toutes ces precautions prises, certains sites vont afficher votre adresse email aux yeux de tous et des bots, quand d’autres sites peux scrupuleux vont carrément vendre votre adresse. Vous allez certainement recevoir des courriers indésirables et là la dernière solution est de créer des filtres de tri efficaces dans votre boite e-mail, mais ceci fera l’objet d’un autre article 😉

Et vous, comment gerez-vous vos e-mails pour éviter au mieux de recevoir des spams ?

Dernière mise à jour le Auteur : Thomas Dufranne

Ce contenu vous a-t-il été utile ?

Merci pour votre avis !

Si vous pensez pouvoir aider d'autres personnes, pensez à partager le contenu

Merci pour votre avis !

Désolé que vous n'ayez pas trouvé votre réponse.

Je vous invite à me poser vos question par commentaire ou par e-mail !

Repondre

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.