3

我创建了一个测试应用程序,我在其中研究了针对 Clickjacking 和其他 UI 修复攻击的不同防御技术。最常用的技术之一是 Frame-Busting 代码中的 X-Frames-Options。我不明白的是为什么不推荐以下内容的原因,并且根据 OWASP:(https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet)不起作用(即使它在我的测试中有效应用程序,如果包含以下内容,我无法构建页面)

 <meta http-equiv="X-Frame-Options" content="deny">

任何解释或答案链接将不胜感激。

显然这是因为在子帧中已经呈现信息之前可能不会接收到 META 标签。这在 Chrome 和 Firefox 等浏览器中仍然有效,但被 IE 忽略。

4

1 回答 1

4

根据许多资源(不仅是您的 URL,还有例如这个),<meta>标签应该被忽略。

如果您的浏览器不这样做,那并不意味着所有浏览器都不会这样做。因此,为了安全起见,您必须指定 HTTP 标头。

问题为什么会这样?可能原因之一与他们告诉避免使用以下内容的原因相同:

<meta name="robots" content="noindex" />

在我看来,原因是要获得这个元标记,您需要下载并解析整个页面。要读取 HTTP 标头,您不需要这样做。

在这种情况下,HTTP 标头只是加快浏览器速度的更有效方式,因此这可能是迫使您终止元标记的原因。

于 2015-05-07T13:40:16.690 回答