C# System.Web.HttpRequestValidationException出现问题 我陷入了一个问题的中间。 System.Web.HttpRequestValidationException:一个潜在危险的请求。一周内从客户端检测到表单值。出现这种情况的原因是多行文本框。为了解决这个问题,我在页面的标题和web.config页面中添加了一个属性“Validation Request=false”。但它没有起作用。请帮帮我。 我想借助多行文本框将标记保存到数据库中。正是在这段时间内,这个问题发生了。否则它会正常工作。

C# System.Web.HttpRequestValidationException出现问题 我陷入了一个问题的中间。 System.Web.HttpRequestValidationException:一个潜在危险的请求。一周内从客户端检测到表单值。出现这种情况的原因是多行文本框。为了解决这个问题,我在页面的标题和web.config页面中添加了一个属性“Validation Request=false”。但它没有起作用。请帮帮我。 我想借助多行文本框将标记保存到数据库中。正是在这段时间内,这个问题发生了。否则它会正常工作。,c#,javascript,asp.net,httprequest,C#,Javascript,Asp.net,Httprequest,您需要在受影响页面的页面指令或web.config中添加EnableEventValidation=“false” 但是,不建议这样做,启用它意味着您应该采取严格的步骤尽可能地对输入进行消毒 问候 Si将以下属性添加到web.config中的httpruntime标记中: <httpRuntime requestValidationMode="2.0" /> 设置此值后,在pages标记中设置validateRequest=“false”: <pages validate

您需要在受影响页面的页面指令或web.config中添加EnableEventValidation=“false”

但是,不建议这样做,启用它意味着您应该采取严格的步骤尽可能地对输入进行消毒

问候


Si

将以下属性添加到web.config中的httpruntime标记中:

<httpRuntime requestValidationMode="2.0" />

设置此值后,在pages标记中设置validateRequest=“false”:

<pages validateRequest="false"> 

我认为最好在将html发送到数据库之前对其进行编码

使用
Server.Encode(YourTextBoxId)

例如,如果您的命令类似于:

cmd.Parameters.AddWithValue("@htmlcodefromtextbox", TextBox1.Text);
试试这个

cmd.Parameters.AddWithValue("@htmlcodefromtextbox",  Server.Encode(YourTextBoxId));
cmd.Parameters.Add("@htmlcodefromtextbox", SqlDbType.Text ).Value =Server.HtmlEncode( TextBox1.Text);
如果您的命令是:

cmd.Parameters.Add("@htmlcodefromtextbox", SqlDbType.Text).Value = TextBox1.Text;
用这个代替

cmd.Parameters.AddWithValue("@htmlcodefromtextbox",  Server.Encode(YourTextBoxId));
cmd.Parameters.Add("@htmlcodefromtextbox", SqlDbType.Text ).Value =Server.HtmlEncode( TextBox1.Text);

我相信这会很好。

您的问题是…?它适用于fckeditor,但不适用于多行文本框。这样做会使您的站点面临许多安全漏洞。如果必须禁用事件验证,请在页面级别而不是站点级别禁用。此外,您还需要确保在将框中的数据显示回站点用户之前对其进行清理。