我正在尝试通过在节点层的响应的Content-Security-Policy
标头中设置网站来禁用网站中的所有iframe。根据{{3}},从客户端的角度来看,该属性应如下所示:
Content-Security-Policy: frame-ancestors 'none';
很好,这是我在中间件的Node层中进行设置的方式:
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上测试它的价值。
答案 0 :(得分:1)
frame-ancestors
指定哪些页面可以构图当前页面。
如果您想限制当前页面上的 iframe ,则可以使用child-src
。
但是,child-src
指令也适用于Web Worker。您可以使用worker-src
指令