web.config 设置 X-Frame-Options 的方法【亲测有效】
作者:admin 时间:2018-1-15 17:5:40 浏览:web.config 设置 X-Frame-Options
的方法,不少文章都有介绍过,代码看似简单,但一不小心就会出现错误,例如代码块放错了地方。这里我提供一个完整的web.config代码,可以更清楚的看到代码块的位置。
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
</system.web>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
说明, <httpProtocol>...</httpProtocol>
整块代码一定要放到 <system.webServer>...</system.webServer>
里面,尤其要注意的是, <system.webServer>...</system.webServer>
与 <system.web>...</system.web>
是并列的代码块,相互不能被包含。
X-Frame-Options 有三个值:
DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri
表示该页面可以在指定来源的 frame 中展示。uri
是网页地址,如:http://www.webkaka.com/
web.config 设置 X-Frame-Options 无效的原因
做项目时,有可能遇到 web.config 设置 X-Frame-Options 无效的情况,请确认自己已经重启了IIS。如果不行,试试下面的代码:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Content-Security-Policy" value="default-src: https:; frame-ancestors 'self' X-Frame-Options: SAMEORIGIN" />
</customHeaders>
</httpProtocol>
</system.webServer>
代码解释,您的 web.config 条目需要在 Content-Security-Policy
(内容安全策略)下才能使用之前没有折旧的编码。 value ="default-src: https:"
内容安全策略下的值对您的网站是唯一的。
重要的内容是 'value =“default-src: https:'
后面的内容,但最重要的是包含在内容安全策略中。
您可能对以下文章也感兴趣
标签: IIS X-Frame-Options
- 站长推荐