1

当用户输入外国名称时,我收到验证错误。一个例子是:

System.Web.HttpRequestValidationException:从客户端检测到具有潜在危险的 Request.Form 值(ctl00$pageContent$txtName="Pedro ú logo")。

其中 ú 被翻译为 & # 250 ; (当然没有空格)

这些外来字符是可接受的,不应导致验证错误。我希望 ASP.NET 验证使用 UTF-16 而不是 UTF-8 进行验证

许多网站、博客和论坛都简单地说要关闭验证。(即 ValidateRequest="false")

有没有办法在不关闭验证的情况下解决这个问题?此应用程序不接受关闭验证。

谢谢,杰夫

4

2 回答 2

1

调整请求验证机制实际上是不可能的。它有点硬编码。我看不出你不想禁用它的原因。如果您负责对从用户那里获得的所有内容进行清理和 HTML 编码,并且您希望在页面上显示(不管 ASP.NET 请求验证如何,您都应该这样做),那么您就不需要太多了。

于 2009-05-15T17:50:43.810 回答
0

我遇到过这个问题。

解决方法是在您发布帖子之前使用 javascript 清理输入。

有关某些 javascript ,请参阅此 stackoverflow 对类似问题的回答

此外,这几乎是这个 stackoverflow 问题的副本(上面链接)

于 2009-05-15T17:59:11.950 回答