Crypter du texte, un email, une URL

All contributions published for previous SPIP versions

Crypter une chaine de texte (email, URL) sans en empêcher l’affichage à l’écran. Très utile pour empêcher l’aspiration des adresses emails.

Fonctions de ce filtre :
Crypter une chaîne de texte (email, URL) sans en empêcher l’affichage à l’écran ni l’utilisation par un logiciel de messagerie.

Note : SPIP propose par défaut la fonction |antispam pour crypter les e-mails.

function antispam($texte) {
   include_ecrire ("inc_acces.php3");
   $masque = creer_pass_aleatoire(3);
   return ereg_replace("@", " $masque ", $texte);
}

en bref il remplace le @ de l’adresse email par trois caractères...
du coup l’utilisateur lambda ne peut envoyer directement un mail en cliquant sur le lien, il doit penser à remettre le @


Je vous propose ci-dessous une autre méthode pour protéger vos emails de la plupart des aspirateurs :
crypter la chaîne de texte avec son équivalent numérique

Cette méthode permet de crypter l’adresse sans empécher son utilisation par un clic...
l’affichage est correct à l’écran et dans le logiciel de mail...

-  exemple : coyote
-  devient : coyote
-  à l’écran et dans le logiciel de mail : coyote

Inconvénient :
Cette méthode n’est pas parfaite car le cryptage est réversible.
Mais au vu du nombre de pages se trouvant sur le net, les spammeurs vont-ils jusqu’à rechercher le cryptage d’une page et essayer de l’interpréter ???
De plus, dans notre cas, le cryptage se fait sur une partie du code et non l’intégralité...

Avantages :
-  Il est possible de crypter n’importe quelle chaine de texte
-  le cryptage n’empêche pas l’utilisation du lien
-  Ce script devrait permettre d’empêcher l’aspiration par la plupart des moteurs de recherche “classiques” soit non pirates...


Cette méthode de protection vous intéresse ?

  1. Copiez-collez le code ci-dessous dans votre fichier mes_fonctions.php3
  2. Dans votre squelette, utilisez le utiliser le filtre de la manière suivante :[(#EMAIL|crypt_mail)]

exemple : <a href="mailto:[(#EMAIL|crypt_mail)]">[(#EMAIL|crypt_mail)]</a>

/*
 *   +----------------------------------+
 *    Nom du Filtre :  crypt_mail                      
 *   +----------------------------------+
 *    Date : dimanche 6 juillet 2003
 *    Auteur :  Jean-Pierre KUNTZ 
 *        alias Coyote   
 *   +-------------------------------------+
 *    Fonctions de ce filtre :
 *     Crypter une chaîne de texte (email, URL)
 *     sans en empêcher l'affichage à l'écran 
 *     ni l'utilisation par un logiciel de messagerie 
 *   +-------------------------------------+ 
 *  
 *   exemple d'utilisation dans un squelette :
 *
 *   <a href="mailto:[(#EMAIL|crypt_mail)]">[(#EMAIL|crypt_mail)]</a>
 *
 * Pour toute suggestion, remarque, proposition d'ajout
 * reportez-vous au forum de l'article :
 * http://www.uzine.net/spip_contrib/article.php3?id_article=197
*/


function crypt_mail($texte) { 
   $s=""; 
   for ($i=0;$i<strlen($texte);$i++) { 
     $s.="&#".ord($texte{$i}).";"; 
   } 
   return $s; 
} 
// FIN du Filtre crypt_mail

updated on 11 August 2005

Discussion

10 discussions

  • Reply to this message

  • L’annuncio è ancora disponibile puoi contattarmi a mio indi rizzo privato per trovare un accordo grazie,

    Reply to this message

  • Etant donné que je suis sur spip, je suppose que je n’ai plus à faire quoi que ce soit car la plate forme intègre déjà cette fonction. aspirateur robot

    Reply to this message

  • Bonjour,
    je cherche à enlever la solution antispam d’origine de spip, dans quel fichier se trouve t elle?

    Merci.

    Reply to this message

  • 2

    Je trouve ça astucieux, surtout du fait qu’on est pas obligé d’utiliser Javascript pour décoder l’adresse e-mail (ce que j’utilise pour mon propre filtre).

    Mais faudrait voir ce que ça donne avec un bon aspirateur de mails. J’ai lu que AspiroMail avec IE arrivait à aspirer des adresses codées.

    • DaredevilVF

      Effectivement, ce cryptage est à mon avis désormais obsolète. Les robots le lisent parfaitement.

      Pour la démo, voir le site aspirine.org,
      et surtout l’aspirateur sur http://aspirine.org/cgi-bin/trouvemail.pl

      J’ai donc laissé tomber cette fonction pour revenir à mon cryptage Javascript..

      Il y a une fonction plus récente qui doit fonctionner, mais qui est plus ardu à mettre en oeuvre dans l’article Un système antispam

    • merci pour ta remarque DaredevilVF...
      effectivement les spammeurs évoluent et ce script n’est peut être plus suffisant.

      j’espère au moins qu’il aura servi à qq spipeurs...

      salutations,

    Reply to this message

  • Reply to this message

  • Blue Prawn

    perso, voici comment j’ai fait pour appliquer ce filtre aussi sur les textes des articles, breves, etc..

    // utilisation: (#TEXTE|crypt_mail_texte)
    function crypt_mail_texte($texte)
    {
        return preg_replace_callback('|[-\w.]{2,}@[-\w.]{2,}|',
               create_function('$match', 'return crypt_mail($match[0]);'),
               $texte);
    }

    c’est peut-être pas la meilleur solution m’enfin çà à l’air de marcher.

    Reply to this message

  • 3

    Je n’y arrive pas...
    Je dois être stupide...

    Voir : http://www.centre-lecture.com/home/

    (en bas de page)

    Et dans le premier article l’auteur apparaît en clair...

    Merci

    Reply to this message

  • 2
    Roger FREBAULT

    Bonjour,

    Je trouve ce filtre superbe. Je l’ai intégré immédiatement dans mon site que je passe sous SPIP.

    Mais est-il possible de faire la même chose avec les email qui se retrouvent dans le texte des articles ?

    Sincèrement,

    Roger FREBAULT

    • Roger FREBAULT

      Un peu déçu tout de même de voir ce filtre non installé sur ce forum.

    • bouh, malheureusement ça ne marche pas pour moi,
      avec la balise (#TEXTE

      dans la source de la page HTML le texte est bien crypté, mais affiche dès lors qu’il y a un email spip du genre

      [pouf->zzz@toc.info]: 
      
      <a href="zzz@toc.info"class="spip_out">zzz@toc.info</a>

      ...et le class spip_out vient en + se coller tout seul!


      j’utilise donc le moins pratique (#TEXTE qui fonctionne sur des emails à l’intérieur du texte

    Reply to this message

  • 1

    Comment faire pour que l’email des internautes qui envoient un commentaire a la suite d’un article soit crypté ?

    Mon email sera-t-il crypté par le formulaire que j’utilise pour poster ce commentaire ?


    • 1. Copiez-collez le code ci-dessous dans votre fichier mes_fonctions.php3
      2. Dans votre squelette, utilisez le utiliser le filtre de la manière suivante :(#EMAIL
      exemple : (#EMAIL">(#EMAIL

      il s’agit de crypter des mails affichés sur une page pour éviter qu’il ne soient aspirés par un robot spammeur, relis l’article peut être ;-)

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom