Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 内容安全策略框架&x27;无';不起作用_Node.js_Iframe_Content Security Policy_Clickjacking - Fatal编程技术网

Node.js 内容安全策略框架&x27;无';不起作用

Node.js 内容安全策略框架&x27;无';不起作用,node.js,iframe,content-security-policy,clickjacking,Node.js,Iframe,Content Security Policy,Clickjacking,我试图通过在节点层中我的响应的内容安全策略标题中设置来禁用网站中的所有iFrame。根据,从客户端的角度来看,该属性应该是这样的: Content-Security-Policy: frame-ancestors 'none'; 很好,下面是我如何在中间件的节点层中设置它: app.use(function (req, res, next) { /* Clickjacking prevention */ res.header('Content-Security-Policy',

我试图通过在节点层中我的响应的
内容安全策略
标题中设置来禁用网站中的所有iFrame。根据,从客户端的角度来看,该属性应该是这样的:

Content-Security-Policy: frame-ancestors 'none';
很好,下面是我如何在中间件的节点层中设置它:

app.use(function (req, res, next) {
    /* Clickjacking prevention */
    res.header('Content-Security-Policy', "frame-ancestors 'none'")
    next()
})  
下面是当我检查网络活动时,它在客户端的显示方式:

但是,当我嵌入YouTube iframe时,例如:

<iframe
 width="420"
 height="345"
 src="https://www.youtube.com/embed/tgbNymZ7vqY"/>


它没有被禁用。为什么框架政策似乎没有效果?在Chrome上测试它的价值。

框显祖先
指定哪些页面可以框显当前页面

如果要限制当前页面上的iFrame,可以使用


但是,
child src
指令也适用于web工作者。您可以使用
worker src
指令覆盖它

框架祖先指令阻止其他文档框架/嵌入您的文档;它不会阻止您的文档构建/嵌入其他文档(如问题中的youtube嵌入iframe)。