0

我在我的 ASP.NET Web 表单中创建了一个 textarea,当输入 HTML 标记时,它会产生以下错误:

 Server Error in '/GreetingCardMaker' Application.
 --------------------------------------------------------------------------------

A potentially dangerous Request.Form value was detected from the client (setGreeting="<br />"). 

.net 类库中是否有可以调用字符串来删除 HTML 的方法?或者,是否有一种我可以编写来调用字符串的方法?

4

3 回答 3

3

HttpServerUtility.UrlEncode()- 来自 System.Web.dll。

对您输入的任何数据执行 URL 编码(因为从请求中提取不会转义原始值)

或者有Uri.EscapeUriString()which 做一些非常相似的事情。

于 2012-10-31T16:23:20.990 回答
0

当 ASP.net 的“请求验证”过分热衷于阻止某些类型的内容注入(特别是 HTML/XSS)时,通常会发生这种情况。

最直接的“修复”是禁用对这些东西的检查,但直到现在你还没有受到恶意输入的影响。如果您禁用请求验证,您必须准备好自己处理潜在的危险输入。我没有在此处包含禁用此功能的步骤,因为您应该在禁用它之前真正知道自己在做什么。

上面的链接是一个好的开始,但它不应该是您阅读的关于该主题的唯一内容。

于 2012-10-31T16:30:28.497 回答
0
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="page.aspx.cs" validateRequest="false" Inherits="Project.UI.page" %>

在您的 aspx 页面中添加 validateRequest = "false"。这将禁用所选页面的输入验证。

于 2012-10-31T16:37:30.467 回答