Aller au contenu

Index

Paramètre d'en-tête HTTP non sécurisé : X-Frame-Options

Description

Le champ d'en-tête HTTP X-Frame-Options indique une politique qui spécifie si le navigateur doit afficher la ressource transmise dans une balise <frame> ou <iframe>. Les serveurs peuvent déclarer cette politique dans l'en-tête de leurs réponses HTTP pour prévenir les attaques de clickjacking, s'assurant ainsi que leur contenu n'est pas intégré dans d'autres pages ou cadres.

Recommandation

  • Envoyer l'en-tête X-Frame-Options approprié dans les réponses HTTP pour indiquer au navigateur de ne pas autoriser l'encadrement par d'autres domaines.

    • X-Frame-Options: DENY : Interdit complètement le chargement dans un <frame> ou <iframe>.
    • X-Frame-Options: SAMEORIGIN : N'autorise le chargement que si le site qui le demande a la même origine (Same-Origin).
    • X-Frame-Options: ALLOW-FROM URL : Accorde à une URL spécifique le droit de se charger dans un <iframe>. Attention cependant, tous les navigateurs ne supportent pas cette directive.
  • Implémenter du code défensif dans l'interface utilisateur pour s'assurer que le cadre actuel est la fenêtre de niveau supérieur (Top-Level Window).

if (window !== window.top) {
    // Code is being executed within a frame
    // You may choose to handle this situation appropriately,
    // such as by redirecting the user to another page
    // or displaying a warning message.
    window.top.location.href = "about:blank"; 
}

Liens

Normes

  • OWASP_ASVS_L1:
    • V14_4_7
  • OWASP_ASVS_L2:
    • V14_4_7
  • OWASP_ASVS_L3:
    • V14_4_7
  • PCI_STANDARDS:
    • REQ_2_2
    • REQ_6_2
    • REQ_6_3
    • REQ_6_4
    • REQ_11_3
  • HIPAA_CONTROLS:
    • SECURITY212
    • SECURITY213