Il arrive souvent que l'on ait besoin d'afficher un numéro de téléphone ou une adresse e-mail sur un site web. On veut que le lecteur puisse nous contacter. Cependant, ces informations risquent d'être aussi récupérées par un robot qui scanne le web, ce qui peut entraîner du spam. On doit donc chercher à diminuer le risque de se faire référencer dans les annuaires des spammeurs.
La plupart des robots de spammeurs ne prennent pas la peine d'exécuter les applications JavaScript présentes sur une page web. Une façon de se protéger est alors d'utiliser JavaScript pour encoder les informations à protéger. Par exemple, au lieu de mettre directement le numéro de téléphone dans le code HTML de la page, on utilise un code JavaScript qui injecte le numéro de téléphone.
ParoiCMS fournit un filtre LiquidJS pour cet usage. Voici un exemple :
{{ site.field.contactEmail | obfuscate: "asLink" }}
Suivant le contenu du champ site.field.contactEmail
, le résultat pourra être :
<script>document.write(atob("PGEgaHJlZj0ibWFpbHRvOmFiY0BkZWYuZ2hpIj5hYmNAZGVmLmdoaTwvYT4="))</script>
Après exécution du code JavaScript, le code HTML suivant sera injecté :
<a href="mailto:abc@def.ghi">abc@def.ghi</a>
À noter : L'utilisateur peut également accéder à cette fonctionnalité depuis l'éditeur dans l'espace d'administration :