gpt4 book ai didi

javascript - 要阻止 ClickJacking,哪个更安全?打破 iframe vs X-Frame-Options to Deny or Same Origin

转载 作者:行者123 更新时间:2023-11-29 17:15:47 24 4
gpt4 key购买 nike

为了防止您的网站发生点击劫持,我注意到了几种不同的方法。有些使用 javascript 让您的网站脱离 iframe,另一种解决方案是将 X-FRAME-OPTIONS header 设置为 DENY 或 SAMEORIGIN。您认为我提到的两种方法中哪一种更安全?这是我用来测试点击劫持的示例页面。

<HTML>
<BODY>
<H1>Clickjacking Test</H1>
<IFRAME SRC="http://www.google.com/" HEIGHT="500" WIDTH="500"></IFRAME>
</BODY>
</HTML>

使用 iframe 中断代码,您会看到 Firefox 和 Safari 退出 iframe 的速度很慢,这意味着您会看到点击劫持测试,然后它会脱离 iframe 并显示原始网站。使用 IE 和 Chrome 时,速度快到无法察觉。但是使用 X-Frame-Optiions 解决方案,您根本看不到您的网站。它将被阻止。就像上面例子中的谷歌一样。所以我的问题是哪种解决方案更好?完全阻止它或脱离 iframe(在 2 个浏览器中速度慢)

最佳答案

根据我的经验,设置 X-Frame-Options (XFO) 规则比打破 iframe 更有效。说到规则,这实际上取决于您是否绝对必须使用 iframe。如果您可以从您的网站中完全删除 iframe,最好使用 DENY 规则;但是,如果您的站点中仍有 iframe,请使用 SAMEORIGIN 规则。

可用规则之间的差异概述如下 ( quoted from IETF ):

  1. 拒绝接收带有此 header 的内容的浏览器不得显示此内容在任何框架中。

  2. 同源接收带有此 header 的内容的浏览器不得显示来自不同来源页面的任何框架中的此内容内容本身。如果浏览器或插件不能可靠地确定是否内容的来源和框架具有相同的来源,这必须被视为“拒绝”。[待定]如果来源顶级浏览上下文与来源不同包含 X-FRAME-OPTIONS header 的页面。

  3. ALLOW-FROM(后跟可信来源的 URI)接收带有此 header 的内容的浏览器不得显示来自不同来源页面的任何框架中的此内容列出的产地。虽然这会使页面面临风险可信来源,在某些情况下可能需要使用来自其他域的内容。例如:X-FRAME-OPTIONS: ALLOW-FROM https://www.domain.com/

我还建议阅读,Clickjack attack – the hidden threat right in front of you特洛伊亨特。

希望这对您有所帮助。

关于javascript - 要阻止 ClickJacking,哪个更安全?打破 iframe vs X-Frame-Options to Deny or Same Origin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18196640/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com