Email obfuscation: What works in 2024?
Notes perso (la page d'origine est très complète)
1. Utiliser un SVG
// Le HTML
<object class="email" width="130" height="24" data="email.svg" type="image/svg+xml"></object>
// Le SVG: email.svg
<svg viewBox="0 0 130 24" xmlns="http://www.w3.org/2000/svg">
// le CSS
<style>
@import url('https://fonts.googleapis.com/css2?family=Indie+Flower&display=swap');
text {
dominant-baseline: middle;
fill: #000;
font-family: 'Indie Flower';
font-size: 16px;
text-anchor: middle;
}
</style>
<text x="50%" y="50%">email@example.com</text>
</svg>
CSS
object.email {
height: 2em;
margin: -1em 0;
vertical-align: middle;
}
2. cacher une partie de l'email via CSS
L'utilisateur n'accède qu'à l'email alors que le bot récupère le faux email avec la chaîne parasite.
CSS
span.email b {
display: none;
}
3. utiliser JS pour concaténer les caractères de l'email.
Mais bon, si JS est bloqué: poufcétou
<script>document.write('a'+'i'+'@'+'e'+'m'+'a'+'i'+'l'+'.'+'s'+'p'+'e'+'n'+
'c'+'e'+'r'+'m'+'o'+'r'+'t'+'e'+'n'+'s'+'e'+'n'+'.'+'c'+'o'+'m');</script>
4. Utiliser JS pour effectuer une rotation Rot18
Conseil supplémentaire, effectuer une rotation différente selon le type de caractèe (lettre ou chiffre, voyelle ou consonne ...)
HTML
<head>
<script src="https://warriordudimanche.net/text-rot18.js" defer></script>
</head>
D'autres méthodes sont efficaces mais cassent l'accessibilité
L'utilisation d'une image, l'utilisation d'un pseudo élément associé à content:"email@domaine.com"
, l'utilisation de CSS pour renverser le texte, les instructions à l'utilisateur (retirer ou remplacer une partie)...
D'autres pistes
L'auteur marque comme «en test» d'autres méthodes: le chiffrement par AES, la conversion...