利用AuthorizeAttribute属性简单避免 MVC 中的跨域攻击
来源:互联网 发布:会议录音软件 编辑:程序博客网 时间:2024/05/22 10:57
跨域攻击---自然来路页面和目标页面不在同一个域下,所以直接判断来路域和当前自己的域就可以了。
可以广泛应用于表单提交,ajax调用或者某些不想让用户直接输入网址看到的页面
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace Admin.MyAttribute{ [AttributeUsage(AttributeTargets.All, Inherited = true)] public class CheckAuthority : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext) { bool Pass = true; Uri UrlReferrer = httpContext.Request.UrlReferrer;//获取来路 if (UrlReferrer == null) { httpContext.Response.StatusCode = 401;//无权限状态码 Pass = false; } else { Uri ThisUrl = httpContext.Request.Url;//当前请求的URL if (UrlReferrer.Authority != ThisUrl.Authority) { httpContext.Response.StatusCode = 401;//无权限状态码 Pass = false; } } return Pass; } protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext) { base.HandleUnauthorizedRequest(filterContext); if (filterContext.HttpContext.Response.StatusCode == 401) filterContext.Result = new RedirectResult("/"); } }}
调用方法
[MyAttribute.CheckAuthority] public ActionResult Index() { return View(); }
- 利用AuthorizeAttribute属性简单避免 MVC 中的跨域攻击
- 利用AuthorizeAttribute属性简单避免 MVC 中的跨域攻击
- 利用AuthorizeAttribute属性避免 MVC 中的跨域攻击
- c# mvc 自定义AuthorizeAttribute
- MVC用户权限管理AuthorizeAttribute
- MVC特性认证 AuthorizeAttribute 类
- MVC特性认证 AuthorizeAttribute 类
- MVC中使用AuthorizeAttribute身份验证
- AuthorizeAttribute
- mvc 3.0 自定义 AuthorizeAttribute 权限管理
- MVC中使用AuthorizeAttribute做身份验证操作
- MVC中使用AuthorizeAttribute做身份验证操作
- MVC 拦截器之授权 AuthorizeAttribute
- MVC自定义AuthorizeAttribute管理页面浏览权限
- MVC中使用AuthorizeAttribute做身份验证操作
- MVC 自定义AuthorizeAttribute实现权限管理
- MVC中使用AuthorizeAttribute做身份验证操作
- C#中避免SQL中的注入式攻击(winform)
- 移动Web应用常用的Meta标签
- 最不能勉强的,莫过于感情。
- HOG算子
- IOS Git资源 备忘
- vimtutor-很好的vim学习文章
- 利用AuthorizeAttribute属性简单避免 MVC 中的跨域攻击
- SOJ 4139 APPLE 树状DP
- eclipse最常用快捷键
- MIUI打开A2SD+
- SQL server——表操作
- C++中dynamic_cast简单使用说明
- 程序员看世界之超重压塌桥的启示--我是路人(6)2012-7-24
- 使用 Sonar 进行代码质量管理
- Linux ls -l &ll