我在ASP.NET网页表单中创建了一个textarea,当输入HTML标记时,它会产生以下错误:
Server Error in '/GreetingCardMaker' Application.
--------------------------------------------------------------------------------
A potentially dangerous Request.Form value was detected from the client (setGreeting="<br />").
.net类库中是否有一个方法可以调用字符串来删除HTML?或者,是否有一种方法可以编写以调用字符串?
答案 0 :(得分:3)
HttpServerUtility.UrlEncode()
- 来自System.Web.dll。
对你进入的任何数据进行Perorms URL编码(因为从请求中提取unescapes原始值)
或者,Uri.EscapeUriString()
可以做一些非常相似的事情。
答案 1 :(得分:0)
当ASP.net的"Request Validation"过于热衷于阻止某些类型的内容注入(特别是HTML / XSS)时,通常会发生这种情况。
最直接的“修复”是禁用对这些东西的检查,但是直到现在你还有点避免恶意输入。如果禁用请求验证,则必须准备好自己处理潜在危险的输入。我没有在此处包含禁用此功能的步骤,因为在禁用它之前,您应该真正知道自己在做什么。
上面的链接是一个良好的开端,但它不应该是您阅读该主题的唯一内容。
答案 2 :(得分:0)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="page.aspx.cs" validateRequest="false" Inherits="Project.UI.page" %>
在aspx页面中添加validateRequest =“false”。这将禁用所选页面的输入验证。