Crypter du texte, un email, une URL

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

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 : &#99 ;&#111 ;&#121 ;&#111 ;&#116 ;&#101 ;
-  à 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

Discussion

9 discussions

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

    Répondre à ce 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

    Répondre à ce message

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

    Merci.

    Répondre à ce 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,

    Répondre à ce message

  • Répondre à ce 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.

    Répondre à ce 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

    Répondre à ce 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

    Répondre à ce 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 ;-)

    Répondre à ce message

Ajouter un commentaire

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

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

Dernière modification de cette page le 11 août 2005