Forum CMS Made Simple FR

Version complète : [Résolu] Probleme de creation adresse email en javascript
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.2.1
#~ Url du site : www.reflexions3.be
#~ Hébergeur / Soft : OVH
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.2.1
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.3
#~ FileManager: 1.4.1
#~ MenuManager: 1.8.4
#~ MicroTiny: 1.2.3
#~ ModuleManager: 1.5.5
#~ News: 2.12.9
#~ Search: 1.7.7
#~ ThemeManager: 1.1.7
#~ TinyMCE: 2.9.11
#~ Gallery: 1.6
#~ FormBuilder: 0.7.3
#~ CGExtensions: 1.31.2
#~ FrontEndUsers: 1.20
#~ CustomContent: 1.8.3
#~ MysqlDump: 1.2.4
#~ CGSmartImage: 1.9.5
#~ FileBackup: 0.5
#~ SiteMapMadeSimple: 1.2.6
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 64000000
#~ url_rewriting: mod_rewrite
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.3.16
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ E_DEPRECATED: 8192
#~ memory_limit: 128M
#~ max_execution_time: 120
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 64M
#~ upload_max_filesize: 64M
#~ session_save_path: /tmp (1777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: cgi-fcgi
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.1.49
#~ Server Db Grants: Impossible de trouver un privilège "GRANT ALL". Cela peut signifier que vous pourriez avoir des problèmes pour installer ou retirer des modules, ou encore l 'ajout et la suppression d'éléments, y compris les pages.
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour,

Je suis confronté à un problème d'obfuscation d'email.
Je ne souhaite pas inclure de formulaire dans le site et je dois afficher un lien mailto de contact.

Afin d'éviter les spammers, j'ai essayé le plugin de Jean le Chauve, sans succès jusqu'à présent.
J'ai essayé ensuite d'écrire mon adresse avec un javascript.

Je met dans mon gabarit:
Code :
[== JavaScript ==]
{literal}
<script type="text/javascript">
        function toto(){
            var name = "info";
            var domain = "reflexions3.be";
            var aro = "@";
            document.write('<a href="mailto:' + name + aro + domain + '">');
            document.write(name + '@' + domain + '</a>');
        }
    </script>
{/literal}

et j'appelle la fonction dans ma page avec:
Code :
[== JavaScript ==]
{literal}
<script type="text/javascript">toto();</script>
{/literal}


J'ai essayé aussi en balisant avec
Code :
[== Indéfini ==]
{jsmin}
{literal}
<script type="text/javascript">toto();</script>
{/literal}
{/jsmin}

J'arrive au même résultat qu'avec le plugin de Jean le Chauve.
Ma page est blanche, elle charge sans s’arrêter et mon adresse mail est en texte en haut à gauche de l'écran.
Il n'y a rien à voir avec firebug.

Quelqu'un aurait-il une idée de la provenance de ce problème? Ou une autre idée à me suggérer?

Merci de votre aide
Piet
comme tout bon développeur tu commence par tester bloc par bloc ton code afin de voir ce qui plante Wink
le plugin de Jean fonctionne trés bien pas la peine de réinventer la roue :p
sinon utilise directement le code Smarty mailto
bess a écrit :comme tout bon développeur tu commence par tester bloc par bloc ton code afin de voir ce qui plante Wink

Bonjour,

J'ai bien essayé, mais il n'y a rien à voir, la page tourne sans rien comme code affiché dans firebug...
J'ai remplacé mes mailto:, en ligne en dur, par des balises smarty mailto, et réapliqué le plugin de Jean Le Chauve, et je n'ai plus le problème, merci JCE pour l'idée Wink !

Cordialement,
Piet
Il n'y a rien de résolu, ton email n'est toujours pas crypté.
Résolu ou Pas ??
:/ Pas encore résolu...

J'ai mis mes adresses entre balises mailto et appliqué le plugin, mais les adresses mail restent en clair dans la source...

Faut-il mettre un parametre dans la balise?

Cordialement,
Piet
Le plugin transforme les adresses mail en {mailto...}, c'est pour les gens qui ne connaissent pas la balise ou pour des rédacteurs n'ayant aucune notion de la sécurité des adresses mail.
Maintenant, si tu as mis les adresses mails sous {mailto address="me@example.com" encode="javascript"} et qu'elles s'affichent en clair dans la source, tu as effectivement un gros problème.

Je vois pourquoi le plugin ne s'applique pas : supprime <a href="mailto:info@ererereflexions3.be" > l'espace avant la fermeture de la balise
J'ai mis dans tous les gabarits, dans le footer:
{mailto address="me@example.com" encode="javascript"}

Ca rajoute effectivement un code javascript devant l'adresse, mais l'adresse apparait toujours en clair dans toutes les pages en dessous du script.

Code :
[== Indéfini ==]
<p>
<b>
Réflexion[s]
<sup>3</sup>
</b>
| +32 497 97 57 02 |
<script type="text/javascript">
eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%69%6e%66%6f%40%72%65%66%6c%65%78%69%6f%6e%73%33%2e%62%65%22%20%3e%69%6e%66%6f%40%72%65%66%6c%65%78%69%6f%6e%73%33%2e%62%65%3c%2f%61%3e%27%29%3b'))
</script>
<a href="mailto:info@reflexions3.be">info@reflexions3.be</a>
</p>

Dans la page contact, si je rajoute -encode="javascript"}- à l'adresse ça refait la page blanche non inspectable avec l'adresse mail en texte en haut de la page...

Citation :Je vois pourquoi le plugin ne s'applique pas : supprime <a href="mailto:info@ererereflexions3.be" > l'espace avant la fermeture de la balise

Je n'ai pas d'espace à supprimer dans le code, j'utilise:
Code :
[== Indéfini ==]
{mailto address="info@reflexions3.be"}

Le mystère reste entier Wink

Je ne vois pas ce qui interfère différemment dans cette page.
Si je regarde dans firebug l'onglet script uniquement, ça à l'air d'être juste:
Code :
[== Indéfini ==]
<div id="footer">
<p><b>Réflexion[s]<sup>3</sup></b> | +32 497 97 57 02
| <script type="text/javascript">eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%69%6e%66%6f%40%72%65%66%6c%65%78%69%6f%6e%73%33%2e%62%65%22%20%3e%69%6e%66%6f%40%72%65%66%6c%65%78%69%6f%6e%73%33%2e%62%65%3c%2f%61%3e%27%29%3b'))</script></p>
<p>©Copyright 2010 Réflexion[s]<sup>3</sup> All right reserved. </p>
</div>

Mais dans l'onglet html, c'est différent:
Code :
[== Indéfini ==]
<div id="footer">
<p>
<b>
| +32 497 97 57 02 |
<script type="text/javascript">
eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%69%6e%66%6f%40%72%65%66%6c%65%78%69%6f%6e%73%33%2e%62%65%22%20%3e%69%6e%66%6f%40%72%65%66%6c%65%78%69%6f%6e%73%33%2e%62%65%3c%2f%61%3e%27%29%3b'))
</script>
<a href="mailto:info@reflexions3.be">info@reflexions3.be</a>
</p>
<p>
©Copyright 2010 Réflexion[s]
<sup>3</sup>
All right reserved.
</p>
</div>

Ais-je quelque chose qui interprète le javascript autrement?

Cordialement,
Piet
Tout est correct pour ton footer, ton adresse n'apparaît plus en clair dans le code source de la page. Firebug interprète le js, c'est pour cela qu'il peut "voir" l'adresse en clair.

Si le plugin est installé, tu n'as plus besoin d'écrire la balise {mailto address="me@example.com" encode="javascript"}, mais tout simplement me@example.com, le plugin se chargeant de transformer cette adresse en {mailto address="me@example.com" encode="javascript"} par une regex avant que la page ne soit processée par le moteur smarty.

Quand je regarde le code source de la page contact, je vois ceci :
Code :
[== Indéfini ==]
<div id="accueil" class="scroll-pane-arrows">
<h1>Contact</h1>
<p><strong>Christophe Brynaert</strong></p>
<p>0032 497 975 702</p>
<p><a href="mailto:info@rereflexions3.be" >info@rereflexions3.be</a></p>
avec l'espace en trop.
Écris simplement info@rereflexions3.be et dis-moi si ça marche (sans balise mailto ni <a href).

Et modifie tous tes messages dans ce post où ton adresse apparaît en clair Rolleyes
Est-ce que ton code jScrollPane() sert à quelque chose ? Étant donné que ta page a une hauteur fixe de 690px, il semble inutile (à première vue).
Maitre, je suis votre obligé Wink

C'est bien un conflit avec le script scrollpane qui posait problème.

Vu que je n'en avait pas besion sur cette page, je l'ai bougé et miracle, ça marche...


Encore mille merci votre seigneurie !
Reste ton problème de validation du script : ajoute un XML CDATA
Remplace le script
Code :
[== Indéfini ==]
<script type="text/javascript">{literal}
$(document).ready(function(){
    $("ul.subnav").parent().append("<span></span>"); //Only shows drop down trigger when js is enabled - Adds empty span tag after ul.subnav
    $("ul.topnav li a") .mouseover(function() { //When trigger is clicked...
        //Following events are applied to the subnav itself (moving subnav up and down)
        $(this).parent().find("ul.subnav").slideDown('fast').show(); //Drop down the subnav on click
        $(this).parent().hover(function() {
        }, function(){    
            $(this).parent().find("ul.subnav").slideUp('medium'); //When the mouse hovers out of the subnav, move it back up
        });
        //Following events are applied to the trigger (Hover events for the trigger)
        }).hover(function() {
            $(this).addClass("subhover"); //On hover over, add class "subhover"
        }, function(){    //On Hover Out
            $(this).removeClass("subhover"); //On hover out, remove class "subhover"
    });

});
{/literal}
</script>
par
Code :
[== Indéfini ==]
<script type="text/javascript">{literal}
<![CDATA[
$(document).ready(function(){
    $("ul.subnav").parent().append("<span></span>"); //Only shows drop down trigger when js is enabled - Adds empty span tag after ul.subnav
    $("ul.topnav li a") .mouseover(function() { //When trigger is clicked...
        //Following events are applied to the subnav itself (moving subnav up and down)
        $(this).parent().find("ul.subnav").slideDown('fast').show(); //Drop down the subnav on click
        $(this).parent().hover(function() {
        }, function(){    
            $(this).parent().find("ul.subnav").slideUp('medium'); //When the mouse hovers out of the subnav, move it back up
        });
        //Following events are applied to the trigger (Hover events for the trigger)
        }).hover(function() {
            $(this).addClass("subhover"); //On hover over, add class "subhover"
        }, function(){    //On Hover Out
            $(this).removeClass("subhover"); //On hover out, remove class "subhover"
    });

});
]]>
{/literal}
</script>
Bonjour,

J'ai essayé, mais il me met une erreur de syntaxe à

![CDATA[

Cordialement,
Piet
Désolé, il manque les commentaires : écris comme ceci : //<![CDATA[
et la fermeture : //]]>
Encore merci, mon site est dorénavant Clean à 100% Wink