Создайте атрибут фильтра для параметра действия контроллера против XSS-атаки. - PullRequest
2 голосов
/ 30 января 2012

У меня есть такой простой контроллер:

[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 голосов
/ 30 января 2012

Нет, фильтр никогда не будет вызываться. Вы можете сделать что-то подобное в Application_Error

Проверьте этот вопрос: Пользовательские страницы ошибок приложения ASP.NET MVC не отображаются в среде общего хостинга

посмотрите на вопрос и ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...