0

将点击劫持网站重定向到您的网站是可接受的解决方案吗?(因此,当您跳出框架时,您现在正在显示您的网站)让我们说您看到点击此处赢得 ipad 点击劫持网页。但是,当您在 2 秒内立即访问该网站时,您将被带到黑客希望您点击劫持的原始网站。所以现在你看不到 iframe 并点击这里 ipad 网页。哪个更好(更安全)退出 iframe 并重定向到您的网站或留在免费 ipad 页面上而不在 iframe 上显示您的网站?

4

2 回答 2

0

只需将X-Frame-Options: DENY标头添加到您的响应中并让 HTTP 处理它。

https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options

于 2013-10-09T15:39:32.170 回答
0

使用 X-Frame-Options 响应标头进行防御


X-Frame-Options HTTP 响应标头可用于指示是否应允许浏览器在<frame> or <iframe>. 网站可以使用它来避免点击劫持攻击,方法是确保其内容不会嵌入到其他网站中。为所有包含 HTML 内容的响应设置 X-Frame-Options 标头。可能的值为“ DENY”、“ SAMEORIGIN”或“ ALLOW-FROM uri

X-Frame-Options 标头类型

X-Frame-Options 标头有三个可能的值:

DENY,这可以防止任何域构建内容。DENY除非确定了特定的取景需要,否则建议使用“ ”设置。SAMEORIGIN,只允许当前站点框出内容。 ALLOW-FROM uri,它允许指定的 ' uri' 框住这个页面。(例如,ALLOW-FROM http://www.example.com)检查限制 如果浏览器不支持,则以下内容将无法打开。其他浏览器支持新的 CSP frame-ancestors 指令。少数支持两者。


window.confirm() 保护


使用 x-frame-options 或分帧脚本是一种更安全的点击劫持保护方法。但是,在内容必须是可框架化的情况下,可以使用 window.confirm() 通过通知用户他们将要执行的操作来帮助减轻点击劫持。

调用window.confirm()将显示一个无法框住的弹出窗口。如果window.confirm()源自与父级不同域的 iframe,则对话框将显示window.confirm()源自哪个域。在这种情况下,浏览器会显示对话框的来源,以帮助缓解 Clickjacking 攻击。应该注意的是,Internet Explorer 是唯一不显示 window.confirm() 对话框源自的域的已知浏览器,要解决 Internet Explorer 的这个问题,请确保对话框中的消息包含有关正在执行的操作类型。例如:

<script type="text/javascript">
   var action_confirm = window.confirm("Are you sure you want to delete your youtube account?")
   if (action_confirm) {
       //... perform action
   } else {
       //...  The user does not want to perform the requested action.
   }
</script>
于 2017-08-11T23:01:57.883 回答