为控制器操作参数anti XSS attack创建过滤器属性

时间:2012-01-30 09:36:14

标签: c# asp.net asp.net-mvc xss

我有一个简单的控制器:

[CustomFilter()]
public ActionResult Index( int? page ) {
    return View();
}


public class CustomFilterAttribute : ActionFilterAttribute
{
   public override void OnActionExecuting( ActionExecutingContext filterContext ) {
      base.OnActionExecuting( filterContext );
}

public override void OnActionExecuted( ActionExecutedContext filterContext ) {
      base.OnActionExecuted( filterContext );
   }
}

在主页面(ASPX)中,如果我输入http://localhost/home/index?page=<script>(我猜是XSS的一个例子)而不是http://localhost/home/index?page=7那么就会出现红色页面(因为在Visual Studio中我安装了AntiXSS插件)。

如何为此类攻击创建自定义过滤器并返回上一页而不显示红页(有错误)? 或者不可能?

1 个答案:

答案 0 :(得分:0)

不,永远不会调用过滤器。你可以在Application_Error

中做类似的事情

请检查此问题:ASP.NET MVC app custom error pages not displaying in shared hosting environment

看问题和答案。