Skip to content

Latest commit

 

History

History
58 lines (28 loc) · 1.62 KB

42_x-frame-options.md

File metadata and controls

58 lines (28 loc) · 1.62 KB

禁止iframe引用

打开Google的首页: https://www.google.com/ncr

通过Network控制台, 可以看到响应头中有这么一串:

x-frame-options: SAMEORIGIN

当然, 根据Http规范, Header中的KEY是不区分大小写的, x-frame-optionsX-FRAME-OPTIONS 等价。

x-frame-options: SAMEORIGIN 的意思, 是告诉浏览器, 该网页不允许其他域名通过 <frame src=XXX 或者 <iframe src=XXX 引用。

你可以试试在HTML中加上一下内容:

<iframe src="https://www.google.com/ncr"></iframe>

通过监控, 可以看到 Console 控制台输出的错误信息:

Refused to display 'https://www.google.com/' in a frame 
  because it set 'X-Frame-Options' to 'sameorigin'.

如下图所示:

这样能有效防止别人换皮,在网页中嵌入你的服务。

只允许自家域名的网页引用。

当然, 这需要浏览器的支持。

X-Frame-Options HTTP 响应头是用来给浏览器指示允许一个页面可否在 , <iframe> 或者 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。

X-Frame-Options 有三个值:

  • DENY 表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
  • SAMEORIGIN 表示该页面可以在相同域名页面的 frame 中展示。
  • ALLOW-FROM uri 表示该页面可以在指定来源的 frame 中展示。`

详细介绍请参考MDN网站: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options