2

我在数据库中的专栏是:nvarchar(MAX)

我需要将 HTML 代码添加到我的数据库中:从CKEditor. 我收到以下错误。

A potentially dangerous Request.Form value was detected from the client (Description="<h1>Heding 1&nbsp;</...").

我正在使用以下代码:

var String=Request["String"];

我什至使用了以下内容:

 var String= HttpUtility.HtmlEncode(Request["String"]);
String=Request["String"];

这是我的代码的一部分:

 if(IsPost){
    var Description =Request.Unvalidated["Description"];
    // Here I insert into Database

和 FORM 部分是:

<form action="" enctype="multipart/form-data" method="post">
<div class="row">
    <div class="two columns offset-by-two"><br/><label> Description: </label><br/></div>
    <div class="eight columns"><textarea name="Description"></textarea></div>

我想将“描述”中的文本存储到我的数据库中......

4

4 回答 4

2

如果您不希望在 ASP.NET 网页框架中启动 ASP.NET 请求验证,您只需使用 Request.Unvalidated 来引用包含 HTML 的输入:

var text = Request.Unvalidated["myTextBox"];

或者:

var text = Request.Unvalidated("myTextBox");
于 2012-12-31T20:32:18.993 回答
0

看起来HtmlEncoding应该可以解决问题。

您是否尝试过以下操作:

var myColumnData = HttpUtility.HtmlEncode(Request["String"]);

然后将此 myColumnData 和所有其他列传递给您的数据库表。

编辑:除上述内容外,您可能还想查看项目设置,正如以下博客中所推荐的那样 -从客户端检测到潜在危险的请求值

于 2012-12-31T18:34:26.803 回答
0

这对我有用。

var text = Request.Unvalidated["myTextBox"];

谢谢你。

于 2013-04-26T12:50:23.067 回答
0

安全规则.....在将其推送到数据库之前,我建议您过滤掉可疑标签,例如脚本标签。

var x = Request.Unvalidated("MyField");

if(x.Contains("<script>") || x.Contains("</script>")){
    //no script tag allowed.
}
于 2013-05-30T07:05:14.550 回答