SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 259 visiteurs en ce moment

Accueil > Interactivité, échanges > Protections antispams > Codeur d’adresses email > Codeur d’adresses email 2

Codeur d’adresses email 2

27 février 2013 – par Robert Sebille – 10 commentaires

5 votes

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.

Note : Le plugin étant en phase de test, les versions stables 1.1.1 (spip 2) et 1.2.2 (spip 3) restent téléchargeables ci-contre.

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. 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.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.

Voir en ligne : http://plugins.spip.net/rspipcm

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...

Dernière modification de cette page le 10 septembre 2016

Retour en haut de la page

Vos commentaires

  • Le 7 septembre à 16:24, par Manu En réponse à : Codeur d’adresses email 2

    Merci de votre réponse si rapide
    Je me demandais s’il y avait un moyen assez similaire à ce que fait par exemple « mailcrypt » du qui, lui aussi, vise a priori les liens mails contenus dans le texte.
    En effet, la doc du plugin sur contrib indique que, dans un squelette, si on insère un lien en « l’encapsulant » dans une balise #VAL, genre :
    [(#VAL{<a href="mailto:#EMAIL?subject="#TITRE" (etc...)>nous &eacutecrire</a>}|mailcrypt)], alors, le cryptage est opérant.

    Peut-on obtenir un comportement similaire de possible avec votre plugin ? Quelle en serait la syntaxe ?

    • Le 7 septembre à 23:26, par Robert Sebille En réponse à : Codeur d’adresses email 2

      Oui, je pense que c’est possible en passant par les modèles spip. La fonction d’encodage de l’adresse n’est pas très compliquée, et le décodage est déjà en place via le plugin.
      Dans ce cas, l’insertion dans le squelette serait du type :

      1. [(#MODELE{rspipcm}{email=#EMAIL_WEBMASTER}{title=Ecrire au webmaster}{subject="?Bonjour webmaster!"})]

      Votre idée est intéressante. Bon, ici, laissez moi quelques jours ... ;)

    • Le 9 septembre à 07:46, par Robert Sebille En réponse à : Codeur d’adresses email 2

      Bonjour,
      voilà, c’est fait. Versions 1.2.0 (Spip 2.1) et 1.3.0 (Spip 3.0, 3.1). Voyez la documentation ci dessus pour utilisation, elle a été mise à jour.

      Cette version est en test, le temps de s’assurer que tout fonctionne bien. Si vous l’installez, je veux bien un retour d’avis (précisez alors votre version de spip). Merci à vous.

    • Le 9 septembre à 10:20, par Manu En réponse à : Codeur d’adresses email 2

      Ah, super ! Merci de cette adaptation.
      Je ne suis toutefois pas sûr d’avoir bien compris la rédaction de l’appel au modèle depuis un squelette, en particulier comment il faut utiliser « param ».

      Par exemple, si l’on veut avoir au final un lien mailto du style
      <a href"=mailto:destinataire@domaine.tld?subject=patatitata&body=unautrepatatitata">nous écrire</a>

      En supposant que l’on soit dans une boucle AUTEURS ? comment faut-il rédiger l’appel au modèle dans le squelette appelant ?

      #SET{destinataire,#EMAIL}
      #SET{subject, patatipatata}
      #SET{body, message posté depuis le site #NOM_SITE_SPIP}
      [(#MODELE{rspipcm}{email=#GET{destinataire}}{title=Ecrire au webmaster}{subject=#GET{subject}{body=#GET{body}})]

      ou plutôt

      #SET{destinataire,#EMAIL}
      #SET{subject, patatipatata}
      #SET{body, message posté depuis le site #NOM_SITE_SPIP}
      [(#MODELE{rspipcm}{email=#GET{destinataire}}{title=Ecrire au webmaster}{param=subject=#GET{subject}&body=#GET{body}})]

      Mais peut-être ni l’une ni l’autre ne sont-elles correctes ?

    • Le 9 septembre à 11:31, par Robert Sebille En réponse à : Codeur d’adresses email 2

      Non, effectivement. Peut-être la doc n’était pas assez claire ; j’ai corrigé vers : « param=param1:Quelque chose ;param2:Autre chose ;param3:Encore autre chose »

      donc, ici :

      1. [(#MODELE{rspipcm}{email=#GET{destinataire}, title=Ecrire au webmaster, param=subject:#GET{subject};body:#GET{body}})]

      Note : attention, on ne peut inclure qu’une seule fois un modèle par squelette.

    Répondre à ce message

  • Le 26 janvier 2015 à 12:07, par Aymeric En réponse à : Codeur d’adresses email 2

    Bonjour,

    Merci pour ce plugin car c’est, à ma connaissance, le meilleur encodage d’adresses emails disponible.

    J’ai simplement un problème avec la table de traduction, elle n’est pas prise en compte. A l’affichage c’est le nom des variables qui apparait, exemple « $entrez_resultat_addition 3 + 3 ? ».

    Quelqu’un d’autre rencontre ce soucis ?

    Aymeric.

    • Le 7 septembre à 20:26, par Robert Sebille En réponse à : Codeur d’adresses email 2

      Bon, mieux vaut tard que jamais ;)
      Effectivement, il y avait un bug. Merci de l’avoir signalé.

      C’est corrigé : spip 3, version 1.2.2 - spip 2, version 1.1.1. La maj est maintenant disponible via la mise à jour dans l’espace privé.

      Attention à préserver css/noscript.css avant la maj, si vous l’avez personnalisé.

      Bien à vous,
      Robert.

    Répondre à ce message

  • Le 7 septembre à 12:40, par Manu En réponse à : Codeur d’adresses email 2

    Ah, le plugin ne prend en compte que les raccourcis insérés dans le contenu ou au fil du texte...
    Y-a-t-il un moyen de s’en servir pour encoder les liens mis en place via les squelettes, par exmple :
    <a href="mailto:#EMAIL/?subjet=#TITRE">(...)</a>

    Tel que, le plugin ne semble pas avoir d’impact.
    Merci d’avance de votre réponse

    • Le 7 septembre à 15:33, par Robert Sebille En réponse à : Codeur d’adresses email 2

      Effectivement, le plugin ne prend en que les raccourcis insérés dans le contenu, et seulement ceux-là.

      Bien à vous.

    Répondre à ce message

  • Le 19 septembre 2014 à 21:28, par aliosha En réponse à : Codeur d’adresses email 2

    Bonjour. Apparemment le lien menant vers le paquet zip pour la version 3.0 est un lien mort.

    Cordialement,

    aliosha

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Plugin Logo SVG : pouvoir utiliser des logos SVG

    17 octobre – commentaires

    Le SVG est un format vectoriel donc très léger et redimensionnable sans pertes, mais SPIP ne l’acceptait pas sur les logos. Ce plugin comble ce manque. Comment ça fonctionne ? Vous installez ce plugin, vous l’activez, et c’est tout. Crédits Une (...)

  • Utilisez le framework Foundation dans vos squelettes !

    13 août 2013 – 58 commentaires

    Foundation est un framework CSS et Javascript très complet pour réaliser des sites sur une grille propre et homogène. Mais surtout, il permet de rendre un site responsive très facilement ! Ce plugin ajoute le framework Foundation sur l’espace (...)

  • LinkCheck : vérificateur de liens

    13 février 2015 – 65 commentaires

    Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en (...)

  • GIS 4

    11 août 2012 – 1288 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • Metas +

    3 décembre – commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)