asp.net清理用户输入

时间:2009-10-22 16:20:10

标签: asp.net xss validation

asp.net是否有内置机制可以清理所有文本框输入而不是重定向到错误页面?

我有一个文本框输入,用户可以在其中输入名称,但如果他们尝试输入并且<>标记页面会自动抛出错误。我只是想以用户友好的方式处理这个错误。

4 个答案:

答案 0 :(得分:3)

您需要查看AntiXSS库。这是一个dll,因此很容易插入并开始使用它。

下载时间为CodePlex

答案 1 :(得分:2)

您可以将ASP.NET RegularExpressionValidator control与以下模式一起使用:^[^<>]*$

<asp:RegularExpressionValidator ID="rev" runat="server"
    ControlToValidate="txtBox"
    ErrorMessage="The <> tags are not allowed!"
    ValidationExpression="[^<>]*" />
<asp:RequiredFieldValidator ID="rfv" runat="server" ControlToValidate="txtBox" 
    ErrorMessage="Value can't be empty" />

RequiredFieldValidator与RegularExpressionValidator一起使用以防止空白条目。如果该文本框是可选的,并且只需要在输入内容时进行验证,那么您不必使用RequiredFieldValidator。

这样做的好处是可以优雅地处理错误,并且可以在同一页面上通知用户。

但是,如果您需要为许多文本框执行此操作,并且您只想呈现比错误页面更好的内容,则可以处理ValidateRequest错误以提供更友好的消息并使用户保持在同一页面上(而不仅仅是替换它带有自定义错误页面)。有关更多信息,请查看Kirk Evans的帖子:Handling ValidateRequest errors within a Page(请参阅标题为覆盖OnError方法的部分)。

答案 2 :(得分:0)

ASP.net具有验证控件

[http://msdn.microsoft.com/en-us/library/7kh55542.aspx][1]

此外还有Mark Down Editor,它是一个删除html标签等的控件。

答案 3 :(得分:0)