SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 82 visiteurs en ce moment

Accueil > Interactivité, échanges > Email, Newsletters, listes de diffusion > Archives Email > Crypter une adresse email

Crypter une adresse email

20 mai 2004 – par Coyote, JLuc – 16 commentaires

0 vote

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

Fonctions de ce filtre :
Crypter une adresse email présente dans le texte de l’article sans en empêcher l’affichage à l’écran ni l’utilisation par un logiciel de messagerie.
C’est une alternative à (#TEXTE|antispam)

Bonjour,

Suite à vos remarques concernant l’article Crypter du texte, un email, une URL, j’ai bricolé une nouveau filtre pour crypter les emails non plus isolés mais inclus au dans le corps du texte des articles ou autres éléments d’un site SPIP.

Par soucis de clarté dans les noms, l’ancienne fonction qui fonctionne seulement sur les mails isolés a été renommée, la voici à nouveau présentée.

Crypter un mail isolé

function cryptemail($textemail)
{
        $s="";
        for ($i=0;$i<strlen($textemail);$i++) {
          $s.="&#".ord($textemail{$i}).";";
        }
      return $s;
}

Exemple d’usage

<a href="mailto:[(#EMAIL|cryptemail)]">Ecrire à l'auteur</a>

Crypter les adresses emails intégrées dans des textes

Cette nouvelle fonctionnalité utilise un nouveau filtre cryptemail_txt.

function cryptemail_txt($texte) {
      while (strpos($texte,"mailto:") > 0)  {
       $debemail = strpos($texte,"mailto:");
       $finemail = strpos($texte,'"',$debemail);
       $finemail2 = strpos($texte,'?',$debemail);  // test la fin de l'adresse et le début des paramètres      
       if ($finemail2 > 1){
          $finemail = min($finemail,$finemail2);
       }
       $textemail = substr($texte,$debemail,$finemail-$debemail);

       $s= cryptemail($textemail);

       $texte = ereg_replace($textemail, $s, $texte);
     }
     return $texte;
}

Comment fonctionne-t-il ?

Il recherche la chaine « mailto: » et crypte tout ce qui suit jusqu’au premier ".

Comment l’utiliser ?

  1. Copiez-collez les 2 extraits de code ci-dessus dans votre fichier mes_fonctions.php3 (entre une balise <?php et une balise ?> ).
  1. Dans votre squelette, utilisez le filtre de la manière suivante :(#TEXTE

Exemple d’usage

(#TEXTE par (#LESAUTEURS

P.-S.

Cette article vient en complément de Crypter du texte, un email, une URL

Dernière modification de cette page le 15 juillet 2005

Retour en haut de la page

Vos commentaires

  • Le 3 décembre 2006 à 12:58, par blomki En réponse à : Crypter une adresse email

    Truc chelou :
    Si je n’ai pas indiqué de lien mailto dans mon texte d’article, spip génère l’erreur suivante :

    Fatal error : Call to undefined function : cryptemail_txt() in c :\program files\easyphp1-8\www\armenie\ecrire\public\composer.php(48) : eval()’d code on line 415

    Quelqu’un a une idée de l’origine du problème ?

    • Le 3 décembre 2006 à 13:17, par blomki En réponse à : Crypter une adresse email

      Bon ok, après vingt minutes de recherches, je m’aperçois qu’il existe déjà un antispam dans spip. Il faut l’activer en ajoutant $activer_antispam = true ; dans mes_options

      J’ai donc retiré cryptemail, mais c’est quand même hallucinant que cette fonctionnalité intégrée à spip ne soit pas renseignée dans la doc ...

    Répondre à ce message

  • Le 23 septembre 2004 à 22:02, par François En réponse à : > Crypter une adresse email : un bogue ?

    Apparement, cryptemail_txt n’aime pas la présence de «  ? ».

    Je voulais utiliser dans un article un lien du type mail

    Tout ce que j’obtiens, c’est :

    Fatal error : Maximum execution time of 30 seconds exceeded in /var/www/free.fr/1/c/cspcovtt/mes_fonctions.php3 on line 31

    La ligne 31 de mes_fonctions.php3 correspond à
    $texte = ereg_replace($textemail, $s, $texte) ;
    dans la fonction cryptemail_txt($texte)

    J’ai vérifié que la longueur de l’article n’était pas la cause de ce timeout : il me suffit de supprimer le «  ? » pour que ma page apparaisse normalement.

    Une idée pour corriger ce problème ?

    François

    • Le 17 décembre 2004 à 09:36, par Coyote En réponse à : > Crypter une adresse email : un bogue ?

      La correction du problème...
      tester en plus si l’email comprend un point d’interrogation...

    • Le 29 août 2006 à 10:53, par chti3yen En réponse à : > Crypter une adresse email : un bogue ?

      Bonjour,

      Juste une petite précision. Faut il copier le code dans toutes les pages contenant l’email ou peut on le placer dans une page générale et renvoyer dessus ? Dans ce cas là, dans quelle page et quel est le code à rajoutter ?
      Merci par avance

    • Le 29 août 2006 à 10:56, par chti3yen En réponse à : > Crypter une adresse email

      Je ne sais pas pq, spip a rajoutté au sujet de mon message le mot « bogue ».
      Ce n’était pas du tout mon attention d’apporter la moindre critique sur cette contrib qui d’après les post est très utile par les temps qui courent...

    • Le 29 août 2006 à 23:22, par Coyote En réponse à : > Crypter une adresse email

      Copiez le script dans le fichier mes_fonctions.php3

      et utilisez le filtre dans vos squelettes

    Répondre à ce message

  • Le 10 octobre 2005 à 11:37, par ? En réponse à : Crypter une adresse email

    salut,
    malhereusement j’obtiens je message :

    Fatal error : Call to undefined function : cryptemail() in /home/cranio/public_html/mes_fonctions.php3 on line 45

    pouvez-vous m’aider, svp ?

    Francesco

    • Le 10 octobre 2005 à 11:48, par ? En réponse à : Crypter une adresse email

      ops, j’ai oublié de copier le premier script...pardon .-P

    Répondre à ce message

  • Le 25 août 2005 à 12:44, par yanb En réponse à : > Crypter une adresse email

    ce filtre fonctionne bien, mais pose un problème lorsqu’on veut utiliser un lien html un peu élaboré, sans passer par les raccourcis SPIP.
    par exemple, si j’écris :

    <a href="mailto:email@domaine.com?subject=unsubscribe">Se désinscrire</a>

    le serveur va mouliner et rien ne s’affichera.
    Est-il possible d’améliorer le filtre pour prendre en compte ce genre de requête ? Par exemple : ne pas ’filtrer’ tout ce qui vient après un point d’interrogation ? en effet, ça ne sert à rien de filtrer cette partie là.
    Note : je ne connais pas PHP, je ne peux pas vous aider.

    • Le 25 août 2005 à 13:39, par Coyote En réponse à : > Crypter une adresse email

      regarde un peu plus bas et tu verras la soluce...

      dans la fonction :
      function cryptemail_txt($texte)

    Répondre à ce message

  • Le 28 avril 2005 à 14:26, par Jean Christophe Villeneuve En réponse à : > Crypter une adresse email

    Un seul mot : Génial !
    Non, un deuxième : merci.

    Répondre à ce message

  • Le 23 avril 2005 à 15:22, par ? En réponse à : > Crypter une adresse email - EXCELLENT

    En tout point excellent ce filtre !
    Dans l’éducation nationale, on recherche les moyens de protéger des spams les collègues et les élèves

    Merci !!

    Répondre à ce message

  • Le 15 mars 2005 à 21:38, par FdM En réponse à : > Crypter une adresse email

    Je ne sais pas si j’ai merdé quelque part, mais l’adresse d’envoi pour les emails isolés dans un forum est du type (adresseemail

    Répondre à ce message

  • Le 3 mars 2005 à 21:03, par ? En réponse à : > Crypter une adresse email

    Répondre à ce message

  • Le 4 juin 2004 à 19:00, par scoty En réponse à : Etonnant !

    Très bien ce filtre ! Adopté !
    Petite chose « amusante » (sous Mozilla) lorsque l’on sélectionne juste quelques caractères avant et après un « mailto » passer à ce filtre, et qu’on en sort le code source : pas de cryptage. Contrairement à une requête de code source sur une page entière !!
    Eh ben oui ! au premier essai j’ai fait : mais euh ... marche pas ! Alors que ... !

    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

  • PHANTOM (HTML5UP)

    18 juillet – commentaires

    Squelette SPIP pour intégrer le modèle Phantom de HTML5UP. https://html5up.net/phantom Installation A l’activation, le plugin installe aussi les plugins suivants : crayons, favicon, metasplus+, Couleur d’objet, champs extras, SPIP reset centre (...)

  • ScolaSPIP 3

    21 mai 2012 – 448 commentaires

    Un plugin-squelette personnalisable pour sites Web d’établissements scolaires

  • Formulaire d’upload en html5

    27 avril 2015 – 93 commentaires

    Un formulaire d’upload en html5 pour l’interface admin de SPIP. Ce plugin ajoute un système d’upload moderne à SPIP. Il peut être utilisé pour l’upload de masse. Ce système est basé sur dropzonejs. Utilisation Espace privé de SPIP Dans l’espace (...)

  • Passer un site SPIP sous https://

    23 février 2017 – 42 commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)

  • SPIP 3.2, Agenda et FullCalendar

    6 juin – 20 commentaires

    Nous avions publié un article sur la manière d’utiliser FullCalendar avec SPIP 3.0 afin d’afficher des évènements sous forme d’Agenda. La version de FullCalendar a changé avec SPIP 3.2. Le présent article est donc un tutoriel adapté à SPIP 3.2. Pour (...)