SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 274 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.

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

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 29 mars 2017

Retour en haut de la page

Vos commentaires

  • Le 7 septembre 2016 à 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 2016 à 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 2016 à 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 2016 à 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 2016 à 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 2016 à 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 2016 à 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 2016 à 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 ?

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

  • Accès Restreint Partiel

    8 septembre 2014 – 26 commentaires

    Voulez-vous masquer une partie du contenu de vos articles aux visiteurs de passage ? et réserver la totalité à certains de vos membres ? Voulez-vous remplacer le contenu occulté par un appel à l’action (pour devenir Membre, bla bla bla...) ? Le (...)

  • CKeditor 3.0

    4 octobre 2009 – 1221 commentaires

    CKeditor est l’évolution de l’éditeur WYSIWYG : FCKeditor, avec ce plugin vous pourrez utiliser cet éditeur à la place de l’éditeur de spip tout en laissant le choix à vos auteurs de l’éditeur qu’ils préfèrent utiliser. Attention : cet éditeur WYSIWYG (...)

  • SPIP 3, Agenda et FullCalendar

    6 août 2012 – 281 commentaires

    Depuis SPIP 3, l’affichage d’un agenda sous forme de calendrier par jour/semaine/mois à changé. Les filtres |agenda_memo et apparentés sont désormais obsolètes. Il en est de même pour les filtres agendafull_memo et apparentés du plugin Agenda. (...)

  • Plugins Giseh

    26 novembre 2010 – 424 commentaires

    Les plugins correspondants aux fonctionnalités de Giseh, compatibles avec SPIP 3.0 (et SPIP 2.1), sont les suivants : le plugin « ciparam : Configurateur de squelettes » le plugin « cisquel : Squelettes de base avec 3 colonnes » le plugin «  (...)

  • Agenda Fullcalendar facile

    29 octobre 2016 – 42 commentaires

    Dans un précédent article, nous expliquions comment afficher un agenda Fullcalendar sur son site avec le plugin agenda. Cependant, ceci nécessite des manipulation de squelettes, ce qui n’est pas toujours évident lorsqu’on débute. La présente (...)