Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Obfuscation de liens en js #183

Open
gtraxx opened this issue Nov 18, 2024 · 0 comments
Open

Obfuscation de liens en js #183

gtraxx opened this issue Nov 18, 2024 · 0 comments
Assignees
Labels
backend Backend or administration frontend javascript

Comments

@gtraxx
Copy link
Member

gtraxx commented Nov 18, 2024

L’obfuscation de liens en SEO est une technique permettant de cacher un lien aux robots de Google tout en le laissant disponible pour le visiteur.
Nous allons donc permettre cette technique via l'administration et utiliser cet exemple de script pour l'affichage.

document.addEventListener("DOMContentLoaded", function() { // On attend que la page soit chargée
    document.querySelectorAll('.obflink').forEach(function(element) { // On sélectionne tous les liens obfusqués
        element.addEventListener('click', function(e) { // On écoute le clic sur un lien obfusqué
            e.preventDefault(); // Empêche le comportement par défaut du lien
            var link = atob(element.getAttribute('data-o')); // On décode l'URL
            window.open(link); // On redirige l'utilisateur vers la page
        });
    });
});

Dans l'administration, il faut convertir automatiquement une url en base 64 pour la sauvegarde en DB mais également mettre une case à cocher pour l'activer côté frontend (en dehors du menu qui lui ne le permettra pas).

@gtraxx gtraxx self-assigned this Nov 18, 2024
@gtraxx gtraxx added backend Backend or administration frontend javascript labels Nov 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Backend or administration frontend javascript
Projects
None yet
Development

No branches or pull requests

1 participant