Essayez de rendre iframe: ancêtre viole le Contenu suivant la Politique de Sécurité de la directive: “cadre ancêtres 'none'”
Je tiens à rendre un iframe avec la source Github comme suit:
<iframe src="https://gist.github.com/user45445/9bf8d568e3350146ba302d7d67ad576f"> </iframe>
C'est l'erreur que j'obtiens dans la console:
Refused to display 'https://gist.github.com/fresh5447/9bf8d568e3350146ba302d7d67ad576f' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'none'".
Je faisais des recherches sur la façon de spécifier mon Content Security Policy
dans mon Node
serveur, pour spécifier qu'il doit accepter toute iframes à partir de github
J'ai donc installé csp-casque et a ajouté ça à mon code serveur:
var csp = require('helmet-csp')
app.use(csp({
//Specify directives as normal.
directives: {
frameAncestors: ['*.github.com'], //I thought these two did the same, so I tried them both.
childSrc: ['*.github.com']
},
//Set to true if you only want browsers to report errors, not block them.
//You may also set this to a function(req, res) in order to decide dynamically
//whether to use reportOnly mode, e.g., to allow for a dynamic kill switch.
reportOnly: false,
//Set to true if you want to blindly set all headers: Content-Security-Policy,
//X-WebKit-CSP, and X-Content-Security-Policy.
setAllHeaders: false,
//Set to true if you want to disable CSP on Android where it can be buggy.
disableAndroid: false,
//Set to false if you want to completely disable any user-agent sniffing.
//This may make the headers less compatible but it will be much faster.
//This defaults to `true`.
browserSniff: true
}))
Mais toujours la même erreur..
J'ai essayé de regarder le officiel docs et la HTML5 rocks guide
Ne sais pas si je suis super proche ou de prendre le complètement faux approche.
Mise à jour
J'ai aussi essayé de définir le CSP via meta
tag.
<meta http-equiv="Content-Security-Policy" content="child-src https://gist.github.com; frame-ancestors https://gist.github.com;">
que j'ai reçu ce message d'erreur:
Content Security Policies delivered via a <meta> element may not contain the frame-ancestors directive.
OriginalL'auteur fresh5447 | 2016-07-22
Vous devez vous connecter pour publier un commentaire.
Comme oreoshake points, le problème ici n'est pas de votre CSP, mais le CSP sur GitHub. Il est GitHub qui vous empêchent de vous en les encadrant, donc il n'y a rien que vous pouvez faire avec votre CSP pour résoudre ce problème.
Oui, vous pouvez contrôler la façon dont les autres sites sont autorisés à partir de vous. C'est ce que GitHub est fait pour vous.
OriginalL'auteur Scott Helme
La
frame-ancestors
valeur agit sur le source de l'iframe ne pas le document de cadrage. Réglage de la CSP sur votre page aura aucun effet sur le cadrage. Pensez àframe-ancestors
commeX-Frame-Options
sur les stéroïdes: il limite de ce qui est autorisé à encadrer le contenu. Gist intentionnellement ne permettent pas directement de cadrage gist, mais au lieu de cela fournit un moyen d'incorporer un Gist.frame-ancestors 'none'
==X-Frame-Options: DENY
OriginalL'auteur oreoshake