Protection des adresses e-mail via SVG, à utiliser à la place de JavaScript
(rouninmedia.github.io)-
Technique de protection des adresses e-mail à l’aide de SVG
- Voir la démo réelle via le lien SVG-based Email Protection
- Les adresses e-mail exposées publiquement sur une page web doivent généralement être protégées des bots collecteurs d’e-mails
- Jusqu’à présent, diverses techniques combinant HTML, CSS et JS ont été utilisées, chacune avec ses avantages et ses inconvénients
- Les approches utilisant JS sont plus sophistiquées que les alternatives basées sur HTML/CSS, mais ont l’inconvénient de rendre JS indispensable à la page
- JS peut améliorer une page, mais dans l’idéal, toutes les fonctionnalités essentielles devraient fonctionner même si JS est désactivé
- La technique présentée ici utilise une approche basée sur SVG, totalement différente des méthodes classiques de protection d’e-mails reposant sur CSS, JS ou CSS+JS
-
3 avantages de la technique de protection des adresses e-mail basée sur SVG
- Fonctionne même si JavaScript est désactivé
- Le principal avantage de l’approche basée sur SVG est qu’elle ne nécessite absolument pas de JS
- Même si le visiteur désactive JS, l’adresse e-mail affichée sur la page reste utilisable, accessible et protégée, tout en restant cachée aux spambots
- Utilisation possible d’un lien
mailto:standard- Contrairement aux autres méthodes sans JS (insertion de commentaires HTML, masquage d’éléments, etc.), l’approche basée sur SVG permet d’utiliser un lien
mailto:standard - Toutefois, le lien
mailto:se trouve dans un document SVG externe, et non dans le document HTML qui le référence
- Contrairement aux autres méthodes sans JS (insertion de commentaires HTML, masquage d’éléments, etc.), l’approche basée sur SVG permet d’utiliser un lien
- Le contenu est masqué comme une image, tout en restant copiable comme du texte
- Un SVG intégré ressemble à une image, mais n’en est pas une
- En tant qu’élément de remplacement intégré dans un document hypertexte, un SVG peut masquer une adresse e-mail aux spambots aussi efficacement qu’une image
- Mais à proprement parler, un SVG n’est pas une véritable image, c’est un document graphique
- Ainsi, contrairement à une image, il est possible de faire un clic droit sur l’élément `` d’un SVG intégré pour copier l’adresse e-mail
- Fonctionne même si JavaScript est désactivé
-
Implémentation du code
- L’exemple se compose de 2 fichiers
- Le document graphique SVG est intégré dans le document HTML hypertexte à l’aide de la balise ``
- Le même document graphique SVG peut être intégré une ou plusieurs fois dans le document hypertexte
- Exemples de code inclus pour le fichier HTML et le fichier SVG
-
Considérations d’accessibilité
- Il est important de veiller à ce que cette configuration reste aussi accessible que possible
- Pour cela, il faut prêter attention aux points suivants dans le document graphique SVG :
- L’ensemble du document SVG est associé via
aria-labelledbyau `` du document SVG pour indiquer l’appel à l’action - L’élément d’ancrage `` à l’intérieur du SVG possède un
aria-labelportant le même appel à l’action - Le SVG est stylé de façon que, lorsque l’élément d’ancrage
reçoit le focus au clavier, ses éléments enfantset `` soient tous deux mis en évidence
- L’ensemble du document SVG est associé via
L’avis de GN⁺
- Il s’agit d’une approche originale consistant à intégrer un SVG dans un document HTML afin de masquer une adresse e-mail aux spambots sans dépendre de JS. Cela semble être une technique intéressante qui prend en compte à la fois l’accessibilité et l’utilisabilité.
- Il faut toutefois garder à l’esprit que, même avec des techniques frontend très sophistiquées, il est impossible de bloquer parfaitement les spambots les plus avancés. C’est une limite qui s’applique à toute solution de sécurité.
- Pour une adoption en production, des vérifications supplémentaires seront probablement nécessaires concernant l’impact sur le SEO, la compatibilité avec divers navigateurs et appareils, ainsi que les performances.
- Comme solutions backend de protection des e-mails, on peut aussi envisager reCAPTCHA, la technique du honeypot, etc.
- C’est une méthode intéressante qui exploite des fonctionnalités avancées de CSS et SVG, mais elle semble encore présenter des contraintes pour un usage en production. Cela reste toutefois une idée amusante à tester au moins une fois pour les développeurs frontend.
1 commentaires
Commentaire Hacker News
En résumé, les avis sur la nécessité de protéger une adresse e-mail publiée sur une page web contre les spambots sont les suivants :
Purelymail, cela ne pose pas de gros problème<object>n’est pas rendue, donc cette technique ne fonctionne pas1920x1080@60Hzs’affiche comme[email protected]