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)。