©
This document uses PHP Chinese website manual Release
所述X-Frame-Options
HTTP 响应报头可以被用来指示一个浏览器是否应该被允许在一个以呈现页面<frame>
,<iframe>
或<object>
。通过确保其内容未嵌入其他网站,网站可以使用此功能来避免 点击劫持 攻击。
只有当访问文档的用户使用浏览器支持时才提供附加的安全性X-Frame-Options
。
Header type | Response header |
---|---|
Forbidden header name | no |
X-Frame-Options
有三种可能的指示:
X-Frame-Options: DENY X-Frame-Options: SAMEORIGIN X-Frame-Options: ALLOW-FROM https://example.com/
如果指定DENY
,从其他站点加载时,不仅尝试在框架中加载页面失败,从同一站点加载时尝试这样做将失败。另一方面,如果指定SAMEORIGIN
,只要包含在框架中的站点与为页面提供服务的站点相同,仍然可以在框架中使用该页面。
DENY
无论站点尝试这样做,页面都不能显示在框架中。SAMEORIGIN
该页面只能显示在与页面本身相同的源框架中。ALLOW-FROM
_ uri
_页面只能显示在指定原点的框架中。
注意:设置元标记是没用的!例如,<meta http-equiv="X-Frame-Options" content="deny">
没有效果。不要使用它!只有像下面的例子那样设置HTTP头X-Frame-Options
才能工作。
要配置 Apache X-Frame-Options
为所有页面发送标题,请将其添加到您网站的配置中:
Header always append X-Frame-Options SAMEORIGIN
要配置 Apache 来设置X-Frame-Options
拒绝,请将其添加到您网站的配置中:
Header set X-Frame-Options DENY
要配置 Apache 以将其设置X-Frame-Options
为ALLOW-FROM
特定主机,请将其添加到您网站的配置中:
Header set X-Frame-Options "ALLOW-FROM https://example.com/"
要配置 nginx 发送X-Frame-Options
头文件,请将其添加到您的
http,服务器或位置配置中:
add_header X-Frame-Options SAMEORIGIN;
要配置 IIS 发送X-Frame-Options
标题,请添加此站点的Web.config
文件:
<system.webServer> ... <httpProtocol> <customHeaders> <add name="X-Frame-Options" value="SAMEORIGIN" /> </customHeaders> </httpProtocol> ...</system.webServer>
要配置 HAProxy 发送X-Frame-Options
标题,请将其添加到前端,监听或后端配置中:
rspadd X-Frame-Options:\ SAMEORIGIN
Specification | Title |
---|---|
RFC 7034 | HTTP Header Field X-Frame-Options |
Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | 4.0 | 3.6.9 | (Yes) | 8.0 | 10.50 | 4.0 |
ALLOW-FROM | (No) | 18 | ? | 8.0 | ? | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
ALLOW-FROM | ? | ? | ? | ? | ? | ? | ? |