2011-07-08 67 views
2

如何处理MVc中潜在的危险请求?处理Potentailly危险请求-MVC-ASP.NET

我在global.asax中使用以下处理错误,但它没有捕获这些错误。

其捕获其他错误types.`

  else if (httpException is HttpRequestValidationException) 
      { 
       routeData.Values.Add("action", "General"); 

      }` 

任何一个MVC这样做呢?

回答

1

我认为你想允许某些属性的HTML?这将阻止错误被抛出。

在MVC 3中,AllowHtml属性完成这项工作。

http://davidhayden.com/blog/dave/archive/2011/01/16/AllowHtmlAttributeASPNETMVC3.aspx

+0

嗯,谢谢你的回答,但是,我不想存储或接受任何类型的html标签?我怎么做?但你写的例子给我的是允许html标签存储在数据库中,纠正我,如果我错了? –

+0

是的,我认为这是你想要的。 – MartinHN

+1

这个链接会抛出404 – stuartdotnet

2

在MVC中,在一般HandleErrorAttribute Class用于处理异常和返回基于异常的类型特定视图

[HandleError(ExceptionType = typeof(HttpRequestValidationException), View = "RequestIsNotValid")] 
public class SomeController : Controller {} 

这将重定向到RequestIsNotValid视图,当的customErrors web.config中模式是'开'或'远程'。当然,在'远程'期间,它只会显示给远程用户。如果你想在开发过程中测试它,请设置customErrors mode ='on'

+0

如何停止接受html标记,并希望网站显示特定的错误页面而不是显示错误。 –

+0

这就是我的答案,你不读答案吗? :)。在视图 - >共享文件夹下创建“RequestIsNotValid”视图,当请求验证错误发生时,它将显示“RequestIsNotValid”视图的内容,而不是错误页面的详细信息。 – archil

+0

对不起archil:我的错 –