Plugin antispam

générique et personalisable

Ce plugin remplacera automatiquement toute occurence de mail par un texte au fomat configurable.

Ce plugin permet de :
-  Crypter les adresses e-mail du site
-  Configurer la façon dont sont cryptées les adresses
-  Conserver la fonction clic sur l’e-mail grâce à une fonction JavaScript également personnalisable

Installation du plugin antispam

  1. Placez le plugin, après l’avoir récupéré ci-dessous , dans un dossier nommé plugins à la racine de votre site SPIP.
  2. Allez dans l’espace privée du site : Configuration / Gestion des plugins en tapant l’url suivante :
    http://www.mondomaine.net/ecrire/?e...
  3. Cochez le plugin Antispam et validez

Vérifiez que vos squelettes possèdent bien la balise #INSERT_HEAD [1] dans la section HEAD de votre code. Ceci est nécessaire pour pouvoir inclure le code JavaScript de ce plugin. Plus de détail sur la doc officielle

Configuration du plugin

Les étapes précédantes ont pour effet de faire apparaître un nouvel onglet dans Configuration, avec une petite icone bleue :

C’est cette page qui permet de configurer le fonctionnement du plugin.

Vous pouvez d’une part configurer le cryptage du texte et d’autre part de l’action (via la fonction javascript)
.
2texte2

Pour le texte, vous pouvez choisir un cryptage en image ou en texte.

  • image
    • Taille de la police utilisée
  • texte
    • textes de remplacement pour le . et le @ (par exemple ’point’ et ’chez’)
    • taille des textes aléatoire
    • Nous obtiendrons ainsi des adresses du type moimeme chez mondomaine point net ou moimeme zGfrt mondomaine pAshEz net.

2fonction javascript2

Vous pouvez choisir ou non d’activer cette fonction.
-  Si elle est désactivée, les adresses ne seront tout simplement pas cliquable.
-  En cas d’activation, vous devez fournir le nom de la fonction javascript automatiquement crée par ce plugin

Utilisation du plugin

Une fois le plugin configuré, il ne reste plus qu’à ce rendre sur une page (publique ou privée) contenant une adresse e-mail.

Un clic sur l’adresse nous ouvrira [2] notre logiciel de messagerie préféré avec l’adresse non-cryptée de notre corespondant.

Fonctionnement du plugin

Le principe de fonctionnement du plugin est assez simple. Tout d’abord on repère les mails ayant la forme générale mailto:moimeme@mondomaine.net on en extrait le moimeme, mondomaine et net, puis on le récrit en moimeme chez mondomaine point net ou moimeme zGfrt mondomaine pAshEz net .

La fonction JavaSript, elle, utilise une autre logique. Elle assemble les éléments dans un autre ordre ce qui donerait moimemenetmondomaine et ajoute en début de chaîne le nombre de caractères de chaque élément, pour un résultat final équivalent à 070310moimemenetmondomaine

Limitation du plugin

Bien que performant, ce plugin n’est pas infaillible. Un Hacker désirant s’approprier tous les e-mail de votre site pourrait assez facilement déterminer le principe d’encodage des e-mail de votre site et développer une application sur mesure. Il pourrait même le faire pour décrypter le système d’antispam [3] de spip.

Le plugin dans sa version actuelle ne crypte pas les e-mail dans les forums. Les squelettes de la distribution de spip 1.9, n’affichent d’ailleurs pas l’adresse e-mail des rédacteurs de messages. Si vos squelettes de forum affichent les adresses e-mail, il vous faudra les retoucher ou attendre la version 0.5 du plugin.

2Alors pourquoi ce plugin ?2

Les Hackers ont autre chose à faire que de développer une application pour récupérer une centaine d’adresses [4]. Ils préfèrent développer des applications génériques qu’ils peuvent lancer sur tout l’Internet.

Pour tester la robustesse du plugin je vous suggère de vous rendre sur aspirine et d’y indiquer soit l’adresse de votre site soit l’adresse http://www.salentin.ch/spip.php?rub... qui correspond à un article de mon site [5]

L’aute raison est que ayant utilisé et modifié la contrib :
Nouveaux raccourcis typographiques et antispam générique, je voulais en faire un plugin pour spip 1.9.1. Cela m’a permis de me familiariser avec la conception de plugin.

Amélioration du plugin

La version actuelle est une version de développement. Elle tourne parfaitement chez moi, mais j’attends de recevoir vos remarques, bugs et autres pour la passer en stable. Je l’ai volontairement réduite au minimum afin de pouvoir l’améliorer en fonctions de vos besoins.

Je vous liste néanmoins les améliorations auxquelles j’avais [6] pensé :
-  Génération de textes aléatoires pour le remplacement du . et du @
-  Remplacement du . et du @ par des images
-  Ajout de caractères aléatoires entre les éléments de l’adresse codée pour la fonction JavaScript
-  Utilisation d’un groupe de mots clés pour le nom de la fonction avec changement automatique du mot utilisé tous les jours
-  Masquage complet de l’adresse mais possibilité d’écrire un message personnel (comme pour un auteur)

Cette dernière possibilité serait l’antispam absolu car il n’y aurait plus aucune possibilité via l’interface publique de connaître l’adresse du destinataire.

2Roadmap2
Voici une petite RoadMap provisoire des différentes versions déjà réalisées et des améliorations futures :

versionFonctionnalités
0.2 images pour . et @
0.22 textes aléatoires pour . et @ (version actuelle)
0.3 Ajout de filtres pour le cryptage d’éléments spécifiques dans les squelettes
0.4 Ajout de caractères aléatoires dans la fonction js
0.5 Cryptage des e-mails dans les forums
0.6 Changement automatique du nom de la fonction js
0.7 Masquage complet de l’adresse

Je n’y arriverais certainement pas tout seul, mais SPIP à la chance d’avoir une communauté plus que réactive ;)

La région du Salentin utilise ce plugin : http://www.salentin.ch

Notes

[1Les squelettes de la distribution possèdent cette balise

[2si la fonction javascript a été activée

[3via le filtre antispam

[4voire un peu plus

[5réalisé sous SPIP et utilisant le plugin antispam

[6ainsi que d’autres

Discussion

13 discussions

  • 3

    Bonjour,

    Je recherche un logiciel antispam pour filtrer mes emails. Un peu comme ALTOSPAM http://www.altospam.com mais gratuit.
    Je sais pertinemment que je n’aurais pas la même qualité de filtrage mais vu la crise...

    Répondre à ce message

  • J’avais fait un truc qui me paraissait pas mal. Les adresses e-mails affichaient simplement « envoyer un message » ou n’importe quoi d’autre, avec un lien qui codait l’adresse e-mail de façon à rendre difficile leur décodage. Un javascript renvoyait à une page de contact, où l’adresse e-mail était décodée juste avant la fonction mail php.

    Avantage : l’adresse e-mail est illisible et difficile à décoder. Inconvénients : il faut une page de contact (pas trop gênant), mais si javascript est désactivé (par certains lecteurs pour handicapés par exemple) ça ne marche pas. Dans le plugin, il doit être possible d’activer ou de désactiver cette possibilité...

    Répondre à ce message

  • salut
    chez moi la version 0.1 de ce plugin fonctionne, mais rien à faire pour les autres versions, notament en ce qui concerne le cryptage par image.
    une idée ?
    merci

    Répondre à ce message

  • bonjour,

    merci pour ce plugin qui fonctionne bien. bon boulot :)

    il y a une petite amélioration à faire :
    les champs calculés du type #INTRODUCTION laissent encore voir des emails en clair.

    Répondre à ce message

  • 1
    Marc VALLETEAU de MOULLIAC

    Bonjour,

    après installation de la version la plus récente du plugin sur une 192b[10065], et effectué les opérations exposées, j’ai du mal capter quelque chose, car il ne se passe rien après avoir activé le plugin (choisi image et activation javascript) ... J’ai essayé sur Safari (Mac) 2, et sous Firefox (Mac aussi), et rien ...

    D’ailleurs, même en allant sur le site d’exemple (qui s’affiche (texte et images non visibles) très mal sous Safari 2), je n’ai pu trouver un exemple valide ...

    Peut-être ce plugin ne fonctionne-t-il que sous spip 191 ?

    Ce serait dommage, car il pourrait être très utile pour « simplement » éviter les spam ...

    A+

    Marc

    • bonjour

      pour te repondre :
      je viens d installer ce plugin sur une v192b
      et ça marche ( j ai configuré pour le remplacement de la chaine de caractere : @ = chez et . par point)

      dans espace prive, en mofication de ton article ,
      ecrire :
      mailto:moi@domaine.fr

      je suis sous IE7 et ça fonctionne

      faut que je teste sur mozilla et IE6

      je n ai rien constaté d anormal par ailleurs sur mon interface privée ( je n utilise pas encore le multilinguisme)

      voila

      j espere que ça pourra aider

      mpaule

    Répondre à ce message

  • Sylvain

    Bonjour,

    avec SPIP 1.9.2a [8878] et la version 0.23 du Plugin antispam, j’ai constaté que cela effaçait certains éléments de navigation dans l’interface de rédaction, ce que j’appellerais les onglets dans les pages de configuration de SPIP :

    • dans : Configuration > Gestion des langues
      « Sauvegarder/restaurer la base » et « Effacer la base »
    • ainsi que dans : Configuration > Maintenance du site
      « Langue principale du site » et « Multilinguisme » et « Fichiers de langue »

    en gros quand je veux accéder à ces menus je dois désactiver le Plugin antispam

    sinon ce plugin est superbement efficace et bien fichu :-)

    Répondre à ce message

  • 3

    Bonjour,

    intéressant ce plugin, mais pour ma part les spams n’arrivent pas sur les emails des commentaires, mais directement dans les commentaires des articles !
    Les forums sont pris d’assaut par les spams, je ne peux même plus les supprimer à la main tellement il y en a. Je les supprime directement dans la base de données.

    Je suis donc à la recherche d’un anti-spam pour les forums de SPIP, un anti-spam qui bloque les messages à caractères « médicaux » des robots anglophones (comme d’hab...). Est-ce que quelqu’un a une piste à ce sujet ? Je ne trouve rien sur le net.

    Merci

    Ziala

    • La version 1.9 de Spip propose un anti-spam que j’ai recopié dans ma version 1.8 (je n’ai pas encore migré). Il suffit de modifier le squelette formulaires/formulaire_forum.html en ajoutant un champ invisible à l’écran mais visible par les robots (donc piège à robot)

      [(#REM) Piege a robots spammeurs ]
      	<p style='display:none;'><label for="nobot">Veuillez laisser ce champ vide&nbsp;:</label>
      	<input type="text" name="nobot" value="[(#ENV*{nobot})]" size="10" /></p>

      et modifier le fichier spip qui traite les messages inc-messforum.php3, juste avant la ligne

              // Entrer le message dans la base

      ajouter :

      	// ajout d'une nouveauté de la 1.9 bien utile : Antispam : si 'nobot' a ete renseigne, ca ne peut etre qu'un bot
      	if (strlen(_request('nobot'))) {
      		return $retour_forum; # echec silencieux du POST
      	}
    • Bonjour,

      je n’avais pas relevé le fait que SPIP 1.9 était équipé d’un anti-spam qui permettait de filtrer les commentaires indésirables dans les forums des articles et des brèves. Avez-vous des informations et/ou des références à ce sujet ?

      J’ai en effet un site SPIP que je n’ai pas encore migré en 1.9.1 et les forums des brèves sont spammés à outrance par des messages très indésirables. De plus les brèves présentent l’inconvénient de ne pas bénéficier de la notification qui nous informe de l’arrivée des nouveaux messages alors que les articles en bénéficient, si bien que l’on peut mettre un certain temps (dirait Fernand Reynaud) avant de s’en apercevoir.

      Si cette fonctionnalité anti-spam n’existe pas pour SPIP 1.9.1, un plugin serait très utile !

      Cordialement

      François Daniel Giezendanner

    • sylvain

      j ai eu le même problème sous SPIP 1.8.
      j ai désactivé les brèves, mis une modération a priori, mais les robots continuent de solliciter les forums de brèves ce qui brouille le stats du site même si rien n apparaît plus sur le site public.
      Je suis depuis passé en spip 1.9.2 et il semble que moins de robots passent mais il en passe toujours, gonflant artificiellement les stats de visites.
      je serais aussi très demandeur d un plugin anti-spam sur les forums.
      Quelqu un aurait une info ?

    Répondre à ce message

  • bonjour,

    il reste encore une erreur dans les headers qui provoque un bug et fait sauter les onglets (par exemple le menu à onglets des langues saute). dans antispam.php

    function antispam_ajouter_onglets($flux) {
      if($flux['args']=='configuration')
      {
        $flux['data']['antispam']= new Bouton('../'._DIR_PLUGIN_ANTISPAM.'/img_pack/mailcheck24.png', _T('antispam:module_titre'),
    	generer_url_ecrire("antispam_admin"));
    
    	return $flux;
      }
    }

    il faut corriger par :

    function antispam_ajouter_onglets($flux) {
      if($flux['args']=='configuration')
      {
        $flux['data']['antispam']= new Bouton('../'._DIR_PLUGIN_ANTISPAM.'/img_pack/mailcheck24.png', _T('antispam:module_titre'),
    	generer_url_ecrire("antispam_admin"));
    
      }
      	return $flux;
    }

    cela serait bien que tu déposes ton plugin sur la zone. Cela permettrait à toute la communauté de travailler dessus.

    Répondre à ce message

  • 3

    Bonjour et merci pour ce travail,

    Avec la version 0.22 sur SPIP 1.9.1 [7385], je rencontre un petit problème, par exemple en modifiant les auteurs d’un article :
    Warning : Cannot modify header information - headers already sent by (output started at /home/.../plugins/antispam/antispam.php:44) in /home/.../ecrire/index.php on line 198

    Quelqu’un a déjà rencontré ce type de problème ?

    • J’ai la même erreur (version 1.9.1 officielle). C’est sur ma page 404, qui est presque la réplique de ma page plan, où je n’ai pas cette erreur. Les seules différences sont des <:xxx :>.

    • Merci pour ce plugin « salvateur »
      Reste en effet à corriger ce problème : pour moi le message « warning... » apparait dans l’interface de modification quand je tente de faire changer de rubrique une sous rubrique ou un article... embêtant ! Mais ça n’empèche pas de faire les changements souhaités, ouf !

      Warning : Cannot modify header information - headers already sent by (output started at /home/www/plugins/antispam/antispam.php:44) in /home/www/ecrire/index.php on line 198

    • Salut,

      J’ai trouvé la cause du problème : Il y avait une ligne vide après ma balise ?> à la fin de mon code. Je l’ai corrigé (v 0.23).

      Si j’ai mis du temps à trouver c’est que je n’arrivai pas à reproduire le problème.

    Répondre à ce message

  • 1

    J’ai testé ce plugin,. Il semble bien marcher. Mais le problème est qu’il utilise javascript afin que les textes/images soient cliquables. C’est gênant pour mes sites que je tente de rendre accessibles aux handicapés. Ne serait-il pas envisageable d’utiliser PHP pour renvoyer les liens sur une page de contact en mettant l’adresse e-mail en GET mais crryptée ?

    • Le problème avec ce système c’est que les robots peuvent suivre le lien et donc récupérer l’adresse e-mail.

      Tu peux pour l’instant désactiver la fonction javascript (dans les options de configuration du plugin) et mettre un texte de remplacement pour le @ et le point (c’est une protection légère contre le SPAM).

      L’idéal serait d’afficher automatiquement un formulaire de contact sur chaque lien. Je vais avoir besoin de jquery dans un premier temps (je suis en train de travailler dessus). Et là, la possibilité de rediriger vers une page php permettant d’envoyer un message à la personne concernée et tout à fait envisageable.

    Répondre à ce message

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