Codeur d’adresses email 2

Ce plugin encode en javascript les raccourcis SPIP de liens email contre les robots collecteurs d’adresses email (souvent appelés aussi spambots [1]) et qui constituent des bases de données de ces adresses en vue de faire du spam. Si le robot tente de suivre le lien, il sera bloqué par un captcha arithmétique [2] obligatoire pour le décodage. Le plugin dispose d’un modèle permettant d’encoder également des adresses email placées directement dans un squelette.

Il s’agit de la 3e version du plugin Codeur d’adresses email (etat : test) qui ajoute la fonctionnalité « modèle », permettant d’encoder également des adresses email placées directement dans un squelette. Le plugin fonctionne sous SPIP 2.1 et 3.0, 3.1, 3.2. SPIP 2.0 est à tester. Il ne fonctionne pas sous SPIP 1.9.

Description


-  Il encode, dans l’espace public comme dans l’espace privé, les raccourcis spip de ce type :
[nom_lien->user@domain.tld?parametre1=parametre1&parametre2=parametre2]
ou
[nom_lien->mailto:user@domain.tld?parametre1=parametre1&parametre2=parametre2]

Si « nom_lien » est vide ou contient un « @ », il sera remplacé « Ecrire à user » (voir « Résultat du codage » ci-dessous).

-  Il encode les adresses email placées dans les squelettes, à l’aide du modèle :
[(#MODELE{rspipcm}{email=user@domain.tld, title=Ecrire à User, param=subject:Hello User;cc:monami@domain.tld})]
ou encore
[(#MODELE{rspipcm}{email=#EMAIL_WEBMASTER, title=Ecrire au webmaster, param=subject:A partir du site;body:Hello webmaster;cc:monami@domain.tld})]

Pour le modèle, les paramètres « email » et « title » sont obligatoires.
Remarquez également la manière d’écrire les paramètres de l’email : « param=param1:Quelque chose ;param2:Autre chose ;param3:Encore autre chose »
param égal le_nom_du_paramètre deux-points la valeur du paramètre. Etc. Si il y a plusieurs paramètres, ils sont séparés par des points-virgules. Pas de point-virgule après le dernier paramètre.

Pour le modèle comme pour les raccourcis spip, les paramètres doivent être alphanumériques. Ils peuvent aussi contenir l’espace, _ et -. Si l’encodage UTF-8 est disponible, les caractères accentués sont autorisés. Les doubles et simples quotes (même échappés), #, ?, &, @, !, : et les caractères html étendus sont à proscrire dans les paramètres.

Résultat du codage

Avec le code spip [Ecrire à User->user@domain.tld] ou le modèle [(#MODELE{rspipcm}{email=user@domain.tld, title=Ecrire à User})], voici ce que sera le résultat sur le site public et ce que verrait le robot :
<a href="javascript:mdecode('dlt.niamod:resu');">Ecrire à User</a>

Avec le code spip [->mailto:prenom.nom@domain.tld?cc=user@domain1.tld] ou le modèle [(#MODELE{rspipcm}{email=prenom.nom@domain.tld, title=Ecrire à Prénom Nom, param=cc:user@domain1.tld})], voici ce que sera le résultat sur le site public et ce que verrait le robot :
<a href="javascript:mdecode('dlt.1niamod:resu=cc!dlt.niamod:mon.monerp');">Ecrire à Prenom Nom</a>

Si le robot tente de suivre le lien et de le décoder via le DOM [3], il sera bloqué par un captcha arithmétique obligatoire pour le décodage.

Accessibilité

Si javascript est désactivé, le lien email est alors devenu inopérant. C’est pourquoi, si javascript est désactivé, une DIV apparaît sous le lien email avec (ici, en français) ces informations :

Ecrire à : user
dans le domaine : domain.tld

où user et domain.tld correspondent respectivement à ces éléments de l’adresse email : user@domain.tld.

Cette DIV sous le lien est de classe « rspipcm_noscript » qui peut être redéfinie dans une feuille de style en surcharge.

Installation

Nouvelle
-  La balise spip #INSERT_HEAD doit être présente entre les balises html <head> ... </head> de vos squelettes.
-  Dans l’espace privé, activer le plugin.
-  (Eventuellement penser à vider le cache)

Langues actuelles disponibles

fr (en, nl à compléter).

Changements


-  Version 1.3.2 : correction d’un bug javascript avec les variables de langue de spip. Ce bug faisait dysfonctionner le plugin.
-  Version 1.3.1 : correction d’une erreur de syntaxe dans la description du plugin de la version 1.3.0 (Spip 3.0, 3.1). Ce bug empêchait le plugin de s’intaller.
-  Les versions 1.2.0 (Spip 2.1) et 1.3.0 (Spip 3.0, 3.1) ajoutent la fonctionnalité « modèle », permettant d’encoder également des adresses email placées directement dans un squelette.
-  Les versions 1.1.1 (Spip 2.1) et 1.2.2 (Spip 3.0, 3.1) corrigent le problème du captcha javascript : c’était le nom des variables de langue qui apparaissaient au lieu de leur contenu.
-  La branche 1.2.0 (en test) a été abandonnée.

Un plugin de cryptage d’adreses email de plus ?

Il existe d’autres contrib qui permettent le cryptage d’adresses email, comme :
-  mailcrypt
-  ou le Plugin antispam

Alors, pourquoi un de plus ? Au début, je pensais cela ou proposer une fusion de mon plugin avec un autre. Après réflexion, en ce qui concerne le cryptage d’adresses email, je conclus à l’intérêt de la multiplicité de ce type de plugin. En effet, plus il y a de codages divers, plus compliquée est la tâche des spambots.

Si vous gérez plusieurs sites, n’hésitez donc pas à diversifier vos modes de protection en choisissant des plugins différents. Attention tout de même à ceci : ne mélangez pas ces plugins sur un même site, ils ont de grandes chances de ne pas être compatibles, notamment que l’un prenne la précédence sur l’autre qui ne sert alors à rien.

Notes

[2Un captcha est une forme de test permettant de différencier de manière automatisée un utilisateur humain d’un robot. Ici, il est « arithmétique » car il consiste à demander au visiteur la réponse à une addition de 2 nombres (entre 1 et 5) http://fr.wikipedia.org/wiki/CAPTCHA

[3Document Object Model. Le DOM est une convention pour représenter et interagir avec les objets dans les documents HTML, XHTML et XML. Le DOM est aussi le chemin par lequel Javascript voit le contenu des pages HTML http://en.wikipedia.org/wiki/Docume...

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom