2015-09-02 30 views
0

我检测友好的方式来处理潜在危险值

我希望能够以验证它自己,回到我自己的验证消息以友好的方式来处理有潜在危险的Request.Form值后。

我想使用[AllowHtml]属性,然后通过另一个ValidateAttribute或使用IValidatableObject检查值是否包含潜在危险的内容。

是否有内置的帮助手动验证属性的值? 有没有更好的方法来做我想要的东西?

回答

1

为什么不喜欢另一个验证一起使用[AllowHtml]

[AllowHtml] 
[RegularExpression("(\<[a-zA-Z\!\/\?]|&#|script\s*\:)", ErrorMessage = "Invalid characters or whatever your message is")] 
public string Description { get; set; } 

更多信息,请参见Security Extensibility in MVC4 document。希望能帮助到你!

+0

这是有点我在我的问题中说过大声笑你知道是否有任何内置的验证助手检查潜在的危险值吗? – heymega

+0

还没有找到实际的实现。但[文档](http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-63-56/1145.ASPNET_5F00_4_5F00_SecurityExtensibility.pdf)说,它检查1)字符“<”,后面跟着这些:'az'或'A-Z'; '!'; '/'; '?'。 2)字符“&”后跟字符“#”。 3)“脚本”一词后跟一个冒号(:),可能与它们之间有空格。所以我用这个更新了答案。 – Artyom

+0

我非常感谢你为这个答案所付出的努力,尤其是对于引用该安全性文档。我很可能会走这条路。 – heymega