Vais y réfléchir. SPIP SVN bouscule un peu les liens, ça fait du mouvement ces temps_ci...
Introduire une image d'arobase dans un lien pour le masquer des robots, c'est une idée toute bête en effet. J'espère juste qu'ils n'ont pas encore repéré l'astuce!
Dans ton squelette, comment codes-tu #TEXTE en version impression?
Vais y réfléchir. SPIP SVN bouscule un peu les liens, ça fait du mouvement ces temps_ci...
Introduire une image d'arobase dans un lien pour le masquer des robots, c'est une idée toute bête en effet. J'espère juste qu'ils n'ont pas encore repéré l'astuce!
une façon Spip, de remplacer l'arobase par une image c'est d'utilier Tex
encadrant @ par les deux balises math et $
<math>$@$</math>
on produit une image
Dans ton squelette, comment codes-tu #TEXTE en version impression?
Dans le plugin originel le travail pour décider si montrer ou pas l'arobase était fait par la fonction cryptm_cryptage() dans crypt.php -- selon la variable 'printver' passée par le lien.
Une faille du plugin originel est la taille fixe de l'image. Peut-être la suggestion de rpapa est un bon remède. Je pense que <math> stocke l'image en cache. Et ainsi même si le serveur qui sert à créer l'image n'est pas dispo, l'image ne fera pas défaut ?
Dans le plugin originel le travail pour décider si montrer ou pas l’arobase
était fait par la fonction cryptm_cryptage() dans crypt.php – selon la variable
‹ printver › passée par le lien.
Une faille du plugin originel est la taille fixe de l’image. Peut-être la
suggestion de rpapa est un bon remède. Je pense que stocke l’image en
cache. Et ainsi même si le serveur qui sert à créer l’image n’est pas dispo,
l’image ne fera pas défaut ?
et generer l'image de @ via image typo dispense d'avoir un serveur math dispo ?
Finalement, j'ai plutot utilisé un span avec l'image de l'arobase dans le background...
C'est un bon leure, mais ça ne résout pas l'aspet taille. C'est un choix à faire...
C'est vrai que c'est un peu ennuyeux de dépendre d'un serveur...
image_typo quant à lui demande des librairies graphiques pas toujours installées...
Merci beaucoup Pat pour ces modifs.
Personnellement je suis un peu à la rue pour tester tout de suite, d'autant qu'en local je n'ai pas -par rapport à MailCrypt- le même comportement qu'en prod.
J'essaierai de tester dans la semaine ou au pire le week-end prochain.
J'ai un petit souci supplémentaire, pour assurer la compatibilité avec un autre js (nicetitle.js) notre webmestre avait remplacé dans mailcrypt.php du couteau_suisse :
[...]lien(this.title)[...]
par
[...]lien(\'$1' . _mailcrypt_AROBASE . '$2\')[...]
Ca fonctionne mais :
1/ je ne maîtrise pas les conséquences en terme de sécurité de cette modif ? (s'il y en a )
2/ Je vois que le code a changé de place (dans mailcrypt_fonctions.php), j'ai l'impression qu'on peut toujours faire la manip ?
Si cette manip est sans danger est-il possible de la reporter dans le couteau suisse ?
Voilà, en tout cas merci !
Je teste le plus tôt possible.
Merci beaucoup Pat pour ces modifs.
Personnellement je suis un peu à la rue pour tester tout de suite, d'autant qu'en local je n'ai pas -par rapport à MailCrypt- le même comportement qu'en prod.
J'essaierai de tester dans la semaine ou au pire le week-end prochain.
OK, j'attendrai volontiers. Excuse-moi, je crois que je t'ai envoyé un mail privé !
J'ai un petit souci supplémentaire, pour assurer la compatibilité avec un autre js (nicetitle.js) notre webmestre avait remplacé dans mailcrypt.php du couteau_suisse :
[...]lien(this.title)[...]
par
[...]lien(\'$1' . _mailcrypt_AROBASE . '$2\')[...]
Ca fonctionne mais :
1/ je ne maîtrise pas les conséquences en terme de sécurité de cette modif ? (s'il y en a )
2/ Je vois que le code a changé de place (dans mailcrypt_fonctions.php), j'ai l'impression qu'on peut toujours faire la manip ?
Si cette manip est sans danger est-il possible de la reporter dans le couteau suisse ?
Le code est passé dans mailcrypt_fonctions.php pour donner un accès aux filtres et aux traitements sur les balises...
Le changement suggéré par ton webmestre est sans danger. je l'effectue (avec une améliration même..) donc de ce pas.
version du plugin : 1.7.7.02.
Le js est maintenant :
function lancerlien(a,b){ return 'ma'+'ilto'+':'+a +'@'+b; }
L'appel php est maintenant :
$lien = '$1' . _mailcrypt_AROBASE_JS . '$2';
$texte = preg_replace(
",[\"\']mailto:([^@\"']+)@([^\"']+)[\"\'],",
'"#" title="'. $lien .
'"onclick="location.href=lancerlien(\'$1\',\'$2\');
return false;"'
, $texte);
Avec : @define('_mailcrypt_AROBASE',
'<span style="background:transparent url('
. find_in_path('img/mailcrypt/leure.gif')
. ') no-repeat scroll left center; color:#000099;
padding-left:12px; text-decoration:none;"></span>');
Pour l'arobase en gif au milieu des liens, peut-être c'est mieux -- je ne sais pas. En tout cas, il est facile de revenir à un texte en l'écrivant devant la flèche du raccourci. Le problème avec l'image est double : c'est la question de taille, et puis aussi que cela se place au milieu d'un lien qui change de couleur ou se souligne avec mouseover -- mais l'image ne change pas. C'est à cause de ces pensées que je n'ai pas utilisé une image à l'origine.
Pour l'arobase en gif au milieu des liens, peut-être c'est mieux -- je ne sais pas. En tout cas, il est facile de revenir à un texte en l'écrivant devant la flèche du raccourci. Le problème avec l'image est double : c'est la question de taille, et puis aussi que cela se place au milieu d'un lien qui change de couleur ou se souligne avec mouseover -- mais l'image ne change pas. C'est à cause de ces pensées que je n'ai pas utilisé une image à l'origine.
Justement, là il ne s'agit pas d'une image en dur... juste un <span> qui s'insère à peu près n'importe où, et dont le style background est utilisé pour y insérer l'arobase...
Pour l'arobase en gif au milieu des liens, peut-être c'est mieux -- je ne sais pas. En tout cas, il est facile de revenir à un texte en l'écrivant devant la flèche du raccourci. Le problème avec l'image est double : c'est la question de taille, et puis aussi que cela se place au milieu d'un lien qui change de couleur ou se souligne avec mouseover -- mais l'image ne change pas. C'est à cause de ces pensées que je n'ai pas utilisé une image à l'origine.
Ignore mon msg précédent, j'avais mal lu... DSL !
Effectivement, suis bien d'acc avec toi.
Pat
Au copier/coller, les caractères invisibles redeviennent visibles.
ah oui j'avais pas remarqué...
je crois que c'est (peut-être) impossible d'avoir une solution parfaite : non récupérable par les spammeurs et utilisable facilement par les utilisateurs légitimes.
on a le choix entre :
- un texte visuellement identique à l'adresse mail, cliquable (grace au JS), mais où le copier-coller rajoute les ".." que je met autour de l'arobase
- un texte + image identique à l'adresse mail (sauf en cas de redimensionnement ou survol de la souris) et cliquable (grace au JS)
je pense que ma solution est meilleure du point de vue de l'utilisateur (il peut toujours cliquer pour écrire directement ou enlever manuellement les ..) mais en même temps je ne suis pas objectif
je crois que c'est (peut-être) impossible d'avoir une solution parfaite
: non récupérable par les spammeurs et utilisable facilement par les
utilisateurs légitimes.
tu peux remove() les ... avec un peu de javascript :
je crois que c'est (peut-être) impossible d'avoir une solution parfaite
: non récupérable par les spammeurs et utilisable facilement par les
utilisateurs légitimes.
tu peux remove() les ... avec un peu de javascript :
Au copier/coller, les caractères invisibles redeviennent visibles.
ah oui j'avais pas remarqué...
je crois que c'est (peut-être) impossible d'avoir une solution parfaite : non récupérable par les spammeurs et utilisable facilement par les utilisateurs légitimes.
on a le choix entre :
- un texte visuellement identique à l'adresse mail, cliquable (grace au JS), mais où le copier-coller rajoute les ".." que je met autour de l'arobase
- un texte + image identique à l'adresse mail (sauf en cas de redimensionnement ou survol de la souris) et cliquable (grace au JS)
je pense que ma solution est meilleure du point de vue de l'utilisateur (il peut toujours cliquer pour écrire directement ou enlever manuellement les ..) mais en même temps je ne suis pas objectif
Par expérience, ce n'est pas toujours le cas. Nombre d'utilisateurs ne font pas attention, ou ne savent pas reconnaitre une email cryptée... Je vois ça souvent chez les gens qui débutent !
Je pencherais plutôt vers une solution peut-être moins belle graphiquement, mais pratique pour l'utilisateur lambda : afficher un mail sert à envoyer le mail avant tout !
Je me méfie des robots qui, de toute façon, améliorent de jour en jour leurs techniques de pompage, et qui un jour seraient capables d'interpréter les faciles styles css, avec les fameux display:none.
Bon, pour aller plus loin, tout webmestre qui se respecte évitera tout mail à l'écran de toute façon. Un bon squelette ne doit faire apparaitre aucun mail. Il est facile avec SPIP d'utiliser les formulaires, et même si l'envoi des messages par formulaire interposé ne garantie pas la confidentialité (du point de vue de celui qui envoie le message), il ne s'agit que d'un étrier : la conversation peut ensuite se poursuivre par client mail habituel, de façon tout à fait privée.
Mailcrypt est donc destiné plutôt aux rédacteurs indélicats qui insèreraient des mails dans leurs articles (souvent les leurs d'ailleurs...) ou aux visiteurs qui font de même dans les messages de forum.
C'est sympa Tu me diras si tout est OK dans ton squelette.
En principe, ya besoin de rien, ni filtre, ni parametre d'url dans le squelette précisemment nommé "print.html" : les liens sont automatiquement ajoutés "en clair".
Sinon, le filtre |mailcrypt et le parametre cs=print restent dispo pour le reste du squelette...