ASP.NET MVC 防止前端点击劫持

2021-04-12 22:26

阅读:435

标签:也有   response   请求   mvc   server   head   ade   action   原理   

前端点击劫持的原理:通过向我们的页面中添加Iframe,并将Iframe设置成透明,在页面相应的地方设置一些操作引导,让用户在不知不觉中发送一些请求。

解决前端点击劫持的手段就是在服务器端的响应报文中增加X-Frame-Options配置。X-Frame-Options值有3种:

1、DENY:无论如何不在框架中显示。

2、SAMEORIGIN: 仅在同源域名下的框架中显示。

3、ALLOW-FROM uri:仅在指定域名下的框架中显示。

配置X-Frame-Options的手段也有多种:

1、在web.Config中添加配置

  system.webServer>
  ...
httpProtocol> customHeaders> add name="X-Frame-Options" value="SAMEORIGIN"/> customHeaders> httpProtocol>
  ... system.webServer>

2、可以添加一个全局过滤器来配置

public class XframeOptions : ActionFilterAttribute
{
    public override void OnResultExecuting(System.Web.Mvc.ResultExecutingContext filterContext)
    {
        filterContext.HttpContext.Response.AddHeader("X-Frame-Options", "DENY");
    }
}

3、若是需要灵活配置,可以考虑在controller中添加配置

        public ActionResult Index()
        {
            if (Response.Headers["X-Frame-Options"] == null)
            {
                Response.AddHeader("X-Frame-Options", "SAMEORIGIN");
            }
            return View();
        }

 

ASP.NET MVC 防止前端点击劫持

标签:也有   response   请求   mvc   server   head   ade   action   原理   

原文地址:https://www.cnblogs.com/vichin/p/12394031.html


评论


亲,登录后才可以留言!