Skip to content

X-Frame-Options 防御点击劫持

X-Frame-Options

在一个夜高风黑的晚上🌒,微信来了一条神秘的信息,这时外面突然刮起了狂风暴雨⛈️,雷鸣闪电⚡,😨但为了满足我的好奇心,用颤抖的手点开了,然后就有了这张截图👇

点击劫持

WARNING

Refused to display xxx.com in a frame because it set 'X-Frame-Options' to 'sameorigin'.

大概的意思就是在 iframe 中嵌入的 “那位靓仔(网页)” 不想见你,因为和你不是同路人 “设置 X-Frame-Options 同源”。

X-Frame-Options 是什么来呢❓❓❓

X-Frame-Options

它是用来设置在响应头上,说明该网页是否允许在 <iframe> 中标记。避免 clickjacking 攻击。

  • deny 不允许在 iframe 中展示。
  • sameorigin 只允许同源页面 iframe 中展示。
  • allow-from xxx.com 允许特定域名下 iframe 中展示。

简单来说就是用来设置允不允许这个页面给别的页面嵌入(iframe)显示。

配置 nginx

nginx
add_header X-Frame-Options sameorigin always;

添加到 'http', 'server' 或者 'location' 的配置中。

还有其他的服务器配置方法看文档就好。

clickjacking 点击劫持

点击劫持是一种视觉上的欺骗手段。诱导用户在页面上进行操作,在用户毫不知情的情况下,进行其他操作。

比如:用一个透明的 iframe 覆盖在页面上,诱导用户在这个网站上点击,实际背后点击了 iframe

可能你看到的页面是这样的👇

点击劫持

但实际可能是这样的😲(这里只是举例,与贴吧无关)

在你点击下载的一刻,同时关注了某一样东西。当然实际不会这么简漏。

点击劫持

而上面的 X-Frame-Options 就可以禁止这一类的攻击。防止页面被嵌入到其他的页面中。

就到这里结束了,学废了吗?🎮🏃‍♂

Released under the MIT License.