cliquez ici pour me contacter
**résultat :**\\
[[mailto:trapwikilink@univ-nantes.fr|cliquez ici pour me contacter]]
* protection nulle
* l'adresse est en clair dans le code, un robot collecteur utilise le source, pas le rendu
=== Écrite ===
**principe :** écrire l'adresse en toutes lettres :
trapwikiat AT univ-nantes DOT fr
* protection faible,
* un robot collecteur peut facilement recomposer l'adresse,
* vos visiteurs doivent taper manuellement votre adresse email dans leur logiciel de messagerie.
* applicable à un document électronique (word, pdt, etc)
=== Écrite avec lien ===
**principe :** faire un lien avec l'adresse écrite en toutes lettres :
Contactez moi
**résultat** :\\
\\
Contactez moi
* protection moyenne,
* l'URL mailto trahit toujours la présence ici d'une adresse email,
* Vos visiteurs doivent penser à corriger l'adresse email manuellement après avoir cliqué.
=== Fausse adresse ===
**principe** : ajouter une portion à supprimer évidente dans l'adresse afin de la rendre invalide dans un lien.
Contactez moi
**résultat :**\\
Contactez moi
* protection moyenne,
* la portion rajoutée doit être évidente afin de ne pas tromper vos visiteurs,
* un robot collecteur ne se laissera pas tromper non plus,
* vos visiteurs doivent penser à corriger l'adresse dans leur logiciel
* applicable à un document électronique (word, pdt, etc)
=== Utilisation de charactères unicodes #1 ===
**principe** : utiliser des caractères spéciaux interprétés par le navigateur pour remplacer le @ et les points.
Contactez moi
**résultat :**
Contactez moi
* protection moyenne,
* transparent pour le navigateur
* le mailto trahit la présence d'une adresse email
* un robot collecteur remplacera aussi les caractères spéciaux par les bons
=== Utilisation de charactères unicodes #2 ===
**principe :** tout encoder en unicode y compris le "mailto :"
Contactez moi
**résultat:**
Contactez moi
* bonne protection,
* plus de mailto,
* pour convertir votre adresse en unicode: [[http://www.pinnacledisplays.com/unicode-converter.htm]]
=== Encodage hexadécimal ===
**principe :** Encoder l'adresse en caractères hexadécimaux interprétés par le navigateur.
Contactez moi
**résultat :**
Contactez moi
* protection moyenne,
* utilisation de mailto trahissant la présence d'une adresse,
* le robot peut décoder comme votre navigateur le fait
* une page pour convertir votre adresse en hexadecimal : [[http://www.theproblemsite.com/codes/hex.asp]]
=== Utilisation de commentaires HTML ===
**principe :** insérer dans l'adresse une série de commentaires HTML qui ne seront pas rendus par le navigateur
trapwikietc.
**résultat :**
trapwikicomment@univ-nantes.fr
* protection plutôt bonne
* impossible d'utiliser cette protection dans un lien
* un robot puissant pourra passer outre
=== Remplacement de l'arobase par une image ===
**principe :** Remplacer l'arobase par une image dont le nom est sans rapport.
trapwikiimgatuniv-nantes.fr
**résultat :**
trapwikiimgat{{personnels:autres:separateur.jpg|}}univ-nantes.fr
* protection plutôt bonne
* impossible d'utiliser cette protection dans un lien
* un robot avancé pourra reconstituer l'adresse
* applicable à un document électronique (word, pdt, etc)
=== Utilisation d'une image ===
**principe :** Utiliser une image contenant l'adresse email.
**résultat :**
{{personnels:autres:adresse.jpg|}}
* bonne protection si l'image n'est pas trop simple
* impossible à utiliser dans un lien
* applicable à un document électronique (word, pdt, etc)
=== Utilisation d'une applet flash ou java ===
**principe :** même principe que la méthode de l'image, mais en utilisant flash ou java pour afficher l'adresse.
**résultat** :
{{personnels:autres:mailto_fixe_texte_sujet.swf?320x60}}
* bonne protection
* oblige les visiteurs à avoir le plugin flash ou java d'installé
* peut être utilisé comme un lien
=== Je dis ça, je dis rien ===
**principe :** décrire l'adresse email sans l'écrire en entier :
</si vous désirez me contacter, mon adresse email est **arnaud** suivi d'un **point** puis **abelard**, ensuite **arobase** et enfin **univ**, **tiret** (le signe -, pas le signe _) **nantes** **point** et pour terminer **fr**.//>>
* bonne protection
* agaçant pour le visiteur (s'il a la chance de parler français)
==== 2.2- Méthodes CSS ====
L'utilisation des styles permet de déjouer les robots.
=== L'élément "after" ===
**principe :** utiliser le pseudo-élément CSS 2 <
.adresse:after { content: "trapwikicssafter\40univ-nantes.fr"; } /* \40 = @ */
**résultat :**
Contactez moi:
* bonne protection, * ne fonctionne qu'avec les navigateurs récents: Firefox 1.5, Netscape 8, IE 7(?), * ne peut être utilisé dans un lien. === L'attribut unicode-bidi === **principe :** l'attribut unicode-bidi est utilisé pour changer l'orientation du texte d'un élément html. Dans notre cas, nous taperons l'adresse de droite à gauche et nous aurons un style CSS qui affichera dans le bon sens:p span.reverse { unicode-bidi:bidi-override; direction: rtl; }
Contactez moi:rf.setnan-vinu@idibsscikiwpart
**résultat**:
Contactez moi: rf.setnan-vinu@idibsscikiwpart
* bonne protection, * mieux supporté que le pseudo-élément after, * ne peut être utilisé dans un lien. === L'attribut display === **principe** : le principe est le même que pour les commentaires HTML : on va insérer dans l'adresse email des éléments html avec un style les rendant invisibles :p span.invisible { display: none; }
Contactez moi: trapwikicssdisplay@@univ-nantes@fr
**résultat** :
Contactez moi: trapwikicssdisplay@@univ-nantes.@.fr
* bonne protection, * ne peut être utilisé dans un lien. ==== 2.3- Méthodes avancées ===== Il existe d'autres méthode pour cacher son adresse email aux spammeurs sans la cacher pour vos visiteurs. La plupart font appel à des scripts, javascript ou php. === javascript simple === **principe :** utiliser une fonction javascript afin de n'afficher l'adresse qu'au moment du rendu par le navigateur (le javascript est traité par le navigateur et pas par le serveur).
function genereadresse(prenom,nom,reste) {
document.write("" + prenom + "." + nom + "@" + reste + "")
}
**résultat :**
:!: **Cette technique peut être couplée avec plusieurs méthodes simples abordées ci-dessus ** :!:
* bonne protection
* peut être appliquée de manière automatique sur le site web de l'université
=== génération automatique d'image ===
**principe :** Le principe est le même que lors de l'utilisation d'une image sauf que cette fois-ci nous générons dynamiquement l'image
__script adresse.php:__
/* adresse.php: fichier de génération d'image */
# récupération des paramètres
$nom=$_GET["nom"];
$prenom=$_GET["prenom"];
if(!isset($nom) && !isset($prenom)) $texte="erreur";
else if(!isset($nom)) $texte=$prenom;
else if(!isset($prenom)) $texte=$nom;
else $texte=$prenom.".".$nom;
# création de l'image basée sur notre fond
$im = @imagecreatefromjpeg("fond-email.jpg");
# déclaration du bleu "UN"
$bleu = ImageColorAllocate($im, 0, 56, 105);
# police à utiliser
$fonte = "../fonts/verdanab.ttf";
# ajout du texte sur le fond
imagettftext($im, 12, 0, 10, 35, $bleu, $fonte, $texte);
#affichage de l'image
ImageJPEG($im);
#destruction de l'image en mémoire
ImageDestroy($im);
?>
__utilisation :__
**résultat** :
* bonne protection
* peut être appliquée de manière automatique sur le site web de l'université
=== AJAX (Asynchronous Javascript and XML) ===
**principe :** utiliser une requête http asynchrone (en tache de fond après chargement de la page) pour afficher l'adresse email à partir d'un code utilisé comme identifiant de l'élément html devant contenir l'adresse.
Au chargement de la page, la fonction montrer_email() récupère tous les éléments dont la classe est "adressecachee" puis fait une requête http POST vers un script php, lui passant l'id de l'élément. Ce script php peut par exemple, utiliser l'id pour faire une requête LDAP dans l'annuaire pour retourner l'adresse email correspondant.
* bonne protection
* le navigateur du visiteur doit supporter les cookies, le javascript, etc.
* complexe à mettre en place
* plus d'information sur [[http://rajeczy.com/arpad/lib/index.php?p=misc/obfuscate_ajax]]
=== Formulaire ===
**principe :** ne pas rendre publique son adresse email et proposer à vos visiteurs un formulaire vous envoyant un mail
__formulaire:__
__script php:__
/* contact.php: envoie un mail */
mail ("votreadresse@votreserveur.com","contact web", $_POST["nom"]." (".$_POST["adresse"].") vous envoie ce message:\n".$_POST["message"]);
?>
**résultat:**