Aller au contenu

Obfusquer les données

Le mode d’obfuscation du widget vous aide à protéger les informations sensibles des robots. Un cas d’utilisation courant est d’obfusquer les adresses e-mail sur les sites Web, empêchant les robots de collecter ces informations de manière automatisée.

Cas d’utilisation

  • Masquer les adresses e-mail et les numéros de téléphone: Protéger les adresses e-mail et les numéros de téléphone sur les sites Web pour empêcher les robots de collecter ces informations de manière automatisée.

  • Masquer les identifiants personnels: Masquer les identifiants personnels tels que les noms d’utilisateur, les identifiants ou les numéros de compte qui pourraient être utilisés à des fins malveillantes.

  • Obfusquer les liens de téléchargement: Masquer les liens de téléchargement directs pour les fichiers ou les logiciels afin de prévenir l’accès non autorisé ou le raclage.

Fonctionnement

Similaire au mécanisme de preuve de travail utilisé pour les défis ALTCHA, l’obfuscation utilise une approche de preuve de travail (PoW) basée sur le chiffrement symétrique AES.

Les données obfusquées fournies au widget sont chiffrées à l’aide d’une clé de chiffrement et d’un vecteur d’initialisation basés sur un nombre aléatoire. Tout comme le PoW du défi, le client doit parcourir une série de nombres pour trouver un vecteur d’initialisation correspondant.

La clé de chiffrement est partagée avec le client et est définie par défaut sur une chaîne vide si elle n’est pas spécifiée. L’objectif n’est pas de fournir un algorithme cryptographique sécurisé, mais d’utiliser un mécanisme de preuve de travail qui permet à tout appareil capable de décrypter les données masquées.

Complexité

La complexité de décryptage dépend de la plage de nombres utilisée. Par défaut, la plage est de 0 à 10 000 et peut être ajustée à l’aide du script. Le temps de calcul est d’environ 35 % plus élevé par rapport au défi PoW.

Configuration

Après avoir intégré le widget et activé le plugin d’obfuscation, configurez la chaîne obfuscated dans le widget. Notez que le mode d’obfuscation n’utilise pas challengeurl:

contact.html
<p>Envoyez-nous un e-mail et nous vous contacterons bientôt.</p>
<div>
<span>E-mail :</span>
<altcha-widget
obfuscated="P7bJsUgzxP416d1voeF/QnQOD5g7GItB/zdfkoBrKgZK4N4IYkDJqg=="
floating
>
<button>Cliquez pour révéler</button>
</altcha-widget>
</div>

Tous les éléments à l’intérieur de la balise <altcha-widget> seront affichés comme des espaces réservés pour les données obfusquées. Le widget détecte automatiquement les éléments cliquables, tels que les balises button et a, qui déclenchent le processus de vérification et de désobfuscation lorsqu’on clique dessus. Vous pouvez personnaliser l’élément qui servira de bouton d’action en utilisant l’attribut data-clarify-button.

Il est recommandé d’utiliser l’attribut floating pour une meilleure expérience utilisateur.

Démo

Le code ci-dessus affichera quelque chose de similaire à cette démonstration :

Envoyez-nous un e-mail et nous vous contacterons bientôt.

E-mail :

Cliquez sur le lien Cliquez pour révéler pour afficher l’adresse e-mail réelle.

Le widget peut masquer toutes les données textuelles, voici une démonstration avec une adresse obfusquée :

Notre adresse :

Génération de données obfusquées

Pour générer des données obfusquées pour le widget, utilisez l’obfuscateur :

Saisissez une adresse e-mail, un numéro de téléphone ou toute donnée à obfusquer. Utilisez `mailto:` ou `tel:` pour des liens cliquables.

Alternativement, utilisez le script disponible sur GitHub :

Fenêtre de terminal
bun run scripts/obfuscate.ts "mailto:hello@example.com"

Cette commande génère des données encodées en base64 qui peuvent être directement utilisées dans l’attribut obfuscated.

Consultez le script pour des options de personnalisation telles que la modification de la plage de nombres aléatoires ou l’utilisation d’une clé de chiffrement personnalisée.

Clés de chiffrement personnalisées

La clé de chiffrement par défaut est une chaîne vide. Pour utiliser une clé de chiffrement personnalisée lors de l’obfuscation des données, configurez la clé en utilisant le script.

Pour appliquer une clé de chiffrement personnalisée, ajoutez-la aux données obfusquées sous la forme <base64>?key=<ma_clé> et définissez la chaîne entière comme attribut obfuscated.

Alternativement, vous pouvez configurer l’attribut obfuscated comme ?key=(prompt) (ou spécifiez un libellé de prompt personnalisé avec ?key=(prompt:Entrez le mot de passe)). Cela demandera à l’utilisateur d’entrer la clé avant de décrypter les données, garantissant que seuls les utilisateurs qui connaissent la clé peuvent accéder aux informations cachées.