X-Frame-Options : protégez votre site contre le clickjacking

This post is also available in: English (Anglais)

Le header HTTP X-Frame-Options empêche le chargement de votre contenu dans un <frame> ou <iframe> non autorisé, neutralisant ainsi les tentatives de clickjacking.

Qu’est-ce que le header X-Frame-Options ?

C’est un en-tête de réponse HTTP qui indique au navigateur si une page peut être affichée dans un cadre. Sa présence déclenche une vérification du domaine parent avant le rendu du contenu.

Pourquoi implémenter X-Frame-Options ?

  • Empêche le clickjacking en bloquant l’intégration du contenu dans un cadre externe.
  • Préserve la confiance des utilisateurs en évitant les redirections malveillantes via des frames.
  • Simplifie la conformité aux standards de sécurité web sans impacter les performances.

Valeurs de X-Frame-Options

  • DENY : interdit toute intégration de la page dans un frame, quel que soit l’origine.
  • SAMEORIGIN : autorise le framing uniquement depuis le même domaine.
  • ALLOW-FROM <uri> : permet une origine spécifiée (déprécié et mal supporté).

La directive ALLOW-FROM est obsolète ; pour un contrôle plus fin, privilégiez frame-ancestors dans une Content Security Policy.

Étapes de déploiement

  1. Auditer les besoins et identifier les pages nécessitant un framing légitime.
  2. Choisir la directive adaptée (DENY ou SAMEORIGIN).
  3. Appliquer le header en mode report-only pour collecter d’éventuelles erreurs sans bloquer les utilisateurs.
  4. Valider l’absence d’impact sur les cas d’usage légitimes.
  5. Déployer le header en production et surveiller les retours d’erreur dans les logs HTTP.
  6. En cas de framing externe nécessaire, compléter par la directive frame-ancestors de la CSP.

Exemples de configuration

Nginx

server {
    listen 443 ssl;
    server_name exemple.com www.exemple.com;

    add_header X-Frame-Options "DENY" always;

    # Autres directives SSL…
}

Apache (.htaccess)

<IfModule mod_headers.c>
    Header always set X-Frame-Options "SAMEORIGIN"
</IfModule>

WordPress (functions.php)

add_action('send_headers', function(){
    header('X-Frame-Options: DENY');
});

Nos services de mise en place de X-Frame-Options

Chez Dimension Internet, nous réalisons :

  • l’audit de votre architecture et de vos besoins de framing,
  • la définition d’une stratégie X-Frame-Options sur mesure,
  • l’intégration du header dans votre serveur (Apache, Nginx, CDN),
  • le test et la validation en environnement de préproduction,
  • le monitoring continu et la maintenance de votre politique de framing.

Conclusion

Le header X-Frame-Options constitue une défense simple et robuste contre le clickjacking, renforce la confiance de vos utilisateurs et participe à la conformité aux standards de sécurité web. Dimension Internet vous accompagne de l’audit initial au suivi opérationnel pour un déploiement sans faille. En combinant X-Frame-Options et la directive frame-ancestors de la CSP, vous bénéficiez d’une protection optimale contre les attaques par framing et assurez la réputation et la sécurité de votre site.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *