SPIP - Contrib

SPIP - Contrib

[ar] [en] [es] [fr] [it]

186 visiteurs en ce moment

fontsizeup fontsizedown
[30 commentaires]

ASS - Anti-Spam Simple

Protection des adresses mails de votre site SPIP

samedi 15 décembre 2007, par fhh

  • Digg
  • Del.icio.us
  • Facebook
  • Google
  • Technorati
1 vote

ASS ou Anti-Spam Simple est un système très simple de protection des adresses mails de votre site web ne bloquant pas le protocole mailto.

Principe

Le principe d’ASS (ou "Anti-Spam Simple") est trivial, toute adresse mise entre balise "email" sera automatiquement convertie en image "png" dont les paramètres, tel que couleur de fond (transparent, ou couleur), couleur du texte, sont modifiable dans le fichier "ASS_options.php".

Lors de la navigation, tous clique sur l’une de ses images auto générée appel un javascript, inclus dans les pages par le plugin, qui re convertis l’image en adresse et appel le protocole mailto.

A aucun moment l’adresse mail n’apparaît en clair dans la page ou dans ses sources !!

Ainsi le code suivant saisis dans votre article :

<email>testeur@exemple.com</email>

affichera l’image cliquable qui ouvrira votre gestionnaire de mail favoris lorsque vous la cliquerez. L’adresse mail sera masquée dans le code source de la page par le code suivant :

<a href="" onClick="ASS_Decoder('bWFpbHRvOnRlc3RldXJAZXhlbXBsZS5jb20=')" >
<img border="0" src="../plugins/AntiSpamSimple/ASS_genereimage.php?texte=dGVzdGV1ckBleGVtcGxlLmNvbQ==" />
</a>

Si vous préférez utiliser le protocole « mailto» directement, dans votre article, un code du type :

[Marc Dupond->mailto:testeur@exemple.com]

affichera Marc Dupond et sera masqué dans les sources de la page par :

<a href="" onClick="ASS_Decoder('bWFpbHRvOnRlc3RldXJAZXhlbXBsZS5jb20=')" >
       Marc Dupond
</a>

mais restera cliquable...

Installation

Le plugin s’installe par extraction de l’archive dans le répertoire « plugins » de votre site SPIP. L’activation ce fait classiquement par le menu « Configuration > Gestion des plugins » cochez la case « Anti Spam Simple ».

À propos du fichier ASS_options.php :

Le fichier ASS_options.php, modifiable via n’importe quel éditeur de texte, détermine les différents paramètres des images générées tel que la taille du texte, les espaces verticaux et horizontaux, la couleur ou la transparence du fond :

  1. $SizePolice = 3 ; // Taille de la police
  2. $HSpace = 2 ;    // Nombre d'espaces Horizontaux ajoutés autour de l'image l
  3. $VSpace = 0 ;    // Nombre d'espaces Verticaux
  4. $CouleurFondRGB = array(255,255,255) ; // Couleur du fond de l'image (RGB)
  5. $CouleurTexteRGB = array(0,0,0) ;          // Couleur du texte (RGB)
  6. $transparent = true ;  // Fond transparent ? true = oui, false = non.

Aperçu

Exemple d’ASS sur SPIP 1.9.2c et Squelette Alternatives :

Téléchargements

v0.1-20080118 :

Archive ASS format "tar.bz2" (retour chariot UNIX).

Archive ASS format "zip" (retour chariot Microsoft).

v0.1-20071223 :

Archive ASS format "tar.bz2" (retour chariot UNIX).

Archive ASS format "zip" (retour chariot Microsoft).

Retour en haut de la page

30 Messages de forum

Voir toute la discussion

Pages 1 | 2 | 3

  • Répondre à ce message

    18 mai 14:31 , par fhh

    La génération de l’image est assurée par le script : "ASS_genereimage.php" qui prend en argument (méthode get) une chaine de caractère encodée en base64 sous le nom de variable "texte".

    Il suffit pour insérer une image de simplement placer une balise image en précisant comme source un truc du type : "ASS_genereimage.php ?texte=textebase64"

    Un coup d’oeil sur le source de l’exemple devrait vous donner tous les renseignements utiles pour votre projet...

    FHH

  • Répondre à ce message

    10 avril 01:08 , par Incas

    Je suis en train de concevoir un site en php/javascript, je souhaiterai utiliser votre script. Je l’ai incorporé à la main dans la racine de mon site dans un dossier "script_antispam". L’exemple fonctionne correctement, mais je ne vois pas comment utiliser les autres scripts pour générer une image à partir d’une adresse mail. Comment appelle t-on les scripts php ? Merci d’avance pour votre réponse. Incas

  • Répondre à ce message

    6 avril 05:33 , par LeNours

    En fait, je me suis trop habitué à mon propre script de masquage de mails, qui, bien qu’il crypte le mailto et l’adresse dans le source, laisse apparaitre "mailto:monadresse@chez.moi" dans la barre d’état, pour les humains. L’avantage du "mailto:" est que ça ne te renvoie pas en haut de la page, si celle-ci est plus grande que l’écran et que le lien est tout en bas.
    (Ce script est prévu pour des pages "normales", et le transformer en plug-in Spip me rebute un peu. D’où l’utilisation du tien)

    Dans la pratique, le problème a été résolu par... la lecture de la console javascript. Je pensais que ta feuille JS était automatiquement appelée, or ce n’était pas le cas : "Ass_decoder is not defined"...
    J’ai donc intégré tes deux fonctions à ma feuille de scripts, et ça fonctionne. Reste à savoir pourquoi l’appel de ta feuille ne donne rien : la fonction ASS_InsertScript semble coincer quelque part.
    Ton script veut peut-être mériter l’état "expérimental" que tu déclares dans le fichier xml :-)

    Pour la conformité Xhtml 1.0 strict, il s’agit juste de se défaire de quelques manies du Html, dont les majuscules :
    - onClick devient onclick ;
    - <img border="0" src="image.png" /> c’est maintenant <img style="border:0;" src="image.png" alt="c'est une image" title="" />.
    Le texte alternatif est devenu obligatoire, au cas où l’image n’apparaîtrait pas, et histoire qu’Internet Explorer (qui a toujours géré ça comme un pied) n’affiche rien, le title="" bloque l’apparition de la bulle de texte.
    - <SCRIPT LANGUAGE="JavaScript" SRC="monscript.js">

    doit être transformé en <script type="text/javascript" src="monscript.js"></script>

    En bonne feignasse, j’avais déjà abandonné depuis longtemps les majuscules, en html. Ce n’est donc pas ce qui m’a posé le plus de problème pour passer au Xhtml :-D

  • Répondre à ce message

    2 avril 14:11 , par FHH

    Ok, la modification sera testée et intégrée à la prochaine version,

    Merci pour votre contribution,

  • Répondre à ce message

    9 mars 18:37 , par jmn67

    Ce script très utile pour éviter les spams a causé un problème chez moi, les scripts javascripts ajouté en fin de balise HEAD ne s’exécutaient plus quand il était activé (sur IE & Firefox, pas de problème sur Safari).

    Ca marche par contre en remplaçant dans ASS_fonctions.php :

    $flux .= "\n\n

    <SCRIPT LANGUAGE=\"JavaScript\" SRC=\""._DIR_PLUGINS."AntiSpamSimple/ASS_javascript.js\" />\n\n" ;

    par :

    $flux .= "\n\n<SCRIPT LANGUAGE=\"JavaScript\" SRC=\""._DIR_PLUGINS."AntiSpamSimple/ASS_javascript.js\"></SCRIPT>

    \n\n" ;

  • Répondre à ce message

    5 mars 00:59 , par fhh

    Bonsoir, Désolé, je n’avais pas vu passer ce post... Le fait de ne pas voir de mailto est normal, le mot clé mailto est également crypté afin de ne pas donner trop de régularité aux chaînes cryptées. Pour les modifs de compatibilité W3C, je suis preneur (toutes modifs améliorant le plugin sont les bienvenues...). Coté dysfonctionnement, le résultat est il le même quelque soit le navigateur ? Y a t il d’autres plugins installés pouvant interférer ?

    FHH

  • Répondre à ce message

    19 février 09:22 , par LeNours

    Bonjour Francis,

    Version v0.1-20080118 sur Spip 1.9.2d :
    ça donne le même problème que celui d’AG : il n’y a qu’un lien vers l’article qui contient l’adresse, et pas de "mailto:", que ce soit en balise "email" ou en balise spip [lien_a_cliquer->mail]

    Le source que cela donne, sur la page http://[nomdusite]/plugins/AntiSpamSimple/ :

    <a href="#" onclick="ASS_Decoder('bWFpbHRvOnRvdG9AbXlkb21haW4uY29t')">
            <img src="ASS_genereimage.php?texte=dG90b0BteWRvbWFpbi5jb20=" border="0">

    (Petite broutille notée au passage : le code généré par le script coince un tout petit peu, côté validateur w3c. Surtout quand le site est en Xhtml strict, comme c’est le cas pour le mien ;-)
    Il y a juste 3 petites choses à changer (deux fois) dans la page ASS_fonctions.php. Je peux t’envoyer ça, si tu veux.)

  • Répondre à ce message

    21 janvier 16:41

    Après installation de cette nouvelle version : cela fonctionne ! Merci beaucoup.

  • Répondre à ce message

    18 janvier 22:24 , par fhh

    Bonsoir, la nouvelle version du plugin (v0.1-20080118), pourrait bien arranger votre problème...

    FHH

  • Répondre à ce message

    17 janvier 14:22 , par AG

    Non, c’est la même chose que sur mon site. Le javascript n’a pas l’air de transformer en mailto

    Le code source est

    < HTML>

    <SCRIPT LANGUAGE="JavaScript" SRC="ASS_javascript.js" />
    </HEAD>
    <BODY>

    <h1>Anti Spam Simple&nbsp;!</h1>
    <p>Exemple d&#8217;encodage et d&#8217;application du filtre de décodage.</p>

    <p> <a href="" onClick="ASS_Decoder('bWFpbHRvOnRvdG9AbXlkb21haW4uY29t')" >
    <img border="0" src="ASS_genereimage.php?texte=dG90b0BteWRvbWFpbi5jb20=" />
    </a>
    </BODY>
    </HTML ></p>

Pages 1 | 2 | 3

Répondre à cet article

Retour en haut de la page

Ça discute par ici

SPIP | Squelette | | Plan du site | Suivre la vie du site RSS 2.0