如何在ASP.NET中使用带有文本框的Server.HtmlEncode?

时间:2012-08-28 12:48:58

标签: asp.net textbox

当我在文本框中输入类似“”的值时,它会抛出以下错误。 enter image description here

有人告诉我使用Server.HTMLencode / Server.HTMLdcode。但我不知道如何使用文本框。请帮帮我。

3 个答案:

答案 0 :(得分:0)

您必须在文本框中传递特殊字符,例如<或者> ...

您可以将ValidateRequest调整为false以进行授权,并在页面上进行调整

<%@ Page validateRequest="false" %> 

link:http://www.asp.net/whitepapers/request-validation

答案 1 :(得分:0)

如果您想允许这些值,请将ValidateRequest="false"添加到<%@ page声明

请注意,这确实会让您更容易受到潜在的XSS攻击等攻击

答案 2 :(得分:0)

如果使用.NET 4.5,可以将requestValidationMode设置为4.5:

<httpRuntime requestValidationMode="4.5" />

然后使用以下命令访问表单字段数据的未经验证的查询字符串:

Request.Unvalidated.Form["name"];

然后你可以html解码字符串以防止XSS,我建议使用AntiXSS库(它在ASP.NET 4.5中已经发布)。