最近我浏览了一些网站面临的安全问题。幸运的是,遇到了一个新术语"点击劫持"
我知道只有当我的网站可以在IFrame中加载时,才会发生这种攻击。
进一步的调查有助于了解将"x-frame-options"设置为"DENY"会阻止网站加载到IFrame 中
但我不知道如何实现这一点,因为我是这个领域的新手?
在Global.asax中,您可以添加以下
protected void Application_BeginRequest(object sender, EventArgs e)
{
HttpContext.Current.Response.AddHeader("x-frame-options", "SAMEORIGIN");
}
只需将以下代码放在web.config
文件的<system.webServer>
部分下
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="DENY"/>
</customHeaders>
</httpProtocol>
注意:
X-Frame-Options
标头可能包含三个标头之一代币。你可以添加其中任何一个。每一个都有自己的意义。
- 否认
- 同源
- ALLOW-FROM原点
有关详细信息,请访问MSDN博客:使用X-Frame-Options 对抗点击劫持
看看这个:
https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options#Configuring_Apache
它基本上是在所有响应上发送的响应标头。你可以为每个单独的页面编写你的网站代码,但如果你能够编辑JUST your site的配置,更好的方法是在那里处理它。。。
APACHE和IIS都应该有这样的选择——IIS似乎就在这里:
http://support.microsoft.com/kb/2694329
对于希望保护.net 5.0 MVC/Razor页面的用户,请在Startup.cs
中的Configure
方法中添加以下内容:
app.Use(async (context, next) =>
{
context.Response.Headers.Add("X-Frame-Options", "DENY");
await next();
});
链接
- OWasp DotNet安全备忘单
- Hanselman关于安全头的博客文章