我用的是VB.NET2008, 从网上下载了FreeTextBox控件. Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim ntitle As String = TextBox1.Text
ntitle = Replace(ntitle, "'", "''")
Dim nmessage As String = FreeTextBox1.HtmlEncodedText
Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("testdb.mdb") & ";Persist Security Info=False"
Dim conn As OleDbConnection = New OleDbConnection(dbConnectionString)
conn.Open() Dim sql As String = ""
sql = "insert into testdb(title,message) "
sql += " values('" & ntitle & "','" & nmessage & "')" Dim cmd As New OleDbCommand(sql, conn) cmd.ExecuteNonQuery()
cmd.Dispose()
conn.Close()
conn.Dispose() MsgBox("OK,插入成功!") End Sub以上是保存代码,但是当我将描述中的内容进字体放大或改变颜色这样的设置后, 保存时提示出错如下:从客户端(FreeTextBox1="<P><FONT face=宋体 siz...")中检测到有潜在危险的 Request.Form 值。
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。 异常详细信息: System.Web.HttpRequestValidationException: 从客户端(FreeTextBox1="<P><FONT face=宋体 siz...")中检测到有潜在危险的 Request.Form 值。源错误: 只有在调试模式下进行编译时,生成此未处理异常的源代码才会显示出来。若要启用此功能,请执行以下步骤之一,然后请求 URL: 1. 在产生错误的文件的顶部添加一条“Debug=true”指令。例如: <%@ Page Language="C#" Debug="true" %>或:2. 将以下的节添加到应用程序的配置文件中:<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>请注意,第二个步骤将使给定应用程序中的所有文件在调试模式下进行编译;第一个步骤仅使该特定文件在调试模式下进行编译。重要事项: 以调试模式运行应用程序一定会产生内存/性能系统开销。在部署到生产方案之前,应确保应用程序调试已禁用。 堆栈跟踪:
[HttpRequestValidationException (0x80004005): 从客户端(FreeTextBox1="<P><FONT face=宋体 siz...")中检测到有潜在危险的 Request.Form 值。]
System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName) +8718538
System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName) +111
System.Web.HttpRequest.get_Form() +129
System.Web.HttpRequest.get_HasForm() +8718647
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
System.Web.UI.Page.DeterminePostBackMode() +63
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
System.Web.UI.Page.ProcessRequest() +80
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.newadd_aspx.ProcessRequest(HttpContext context) +37
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.3053; ASP.NET 版本:2.0.50727.3053 请高手帮忙指教,要如何改正呢? 万分谢谢!
Dim ntitle As String = TextBox1.Text
ntitle = Replace(ntitle, "'", "''")
Dim nmessage As String = FreeTextBox1.HtmlEncodedText
Dim dbConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("testdb.mdb") & ";Persist Security Info=False"
Dim conn As OleDbConnection = New OleDbConnection(dbConnectionString)
conn.Open() Dim sql As String = ""
sql = "insert into testdb(title,message) "
sql += " values('" & ntitle & "','" & nmessage & "')" Dim cmd As New OleDbCommand(sql, conn) cmd.ExecuteNonQuery()
cmd.Dispose()
conn.Close()
conn.Dispose() MsgBox("OK,插入成功!") End Sub以上是保存代码,但是当我将描述中的内容进字体放大或改变颜色这样的设置后, 保存时提示出错如下:从客户端(FreeTextBox1="<P><FONT face=宋体 siz...")中检测到有潜在危险的 Request.Form 值。
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。 异常详细信息: System.Web.HttpRequestValidationException: 从客户端(FreeTextBox1="<P><FONT face=宋体 siz...")中检测到有潜在危险的 Request.Form 值。源错误: 只有在调试模式下进行编译时,生成此未处理异常的源代码才会显示出来。若要启用此功能,请执行以下步骤之一,然后请求 URL: 1. 在产生错误的文件的顶部添加一条“Debug=true”指令。例如: <%@ Page Language="C#" Debug="true" %>或:2. 将以下的节添加到应用程序的配置文件中:<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>请注意,第二个步骤将使给定应用程序中的所有文件在调试模式下进行编译;第一个步骤仅使该特定文件在调试模式下进行编译。重要事项: 以调试模式运行应用程序一定会产生内存/性能系统开销。在部署到生产方案之前,应确保应用程序调试已禁用。 堆栈跟踪:
[HttpRequestValidationException (0x80004005): 从客户端(FreeTextBox1="<P><FONT face=宋体 siz...")中检测到有潜在危险的 Request.Form 值。]
System.Web.HttpRequest.ValidateString(String s, String valueName, String collectionName) +8718538
System.Web.HttpRequest.ValidateNameValueCollection(NameValueCollection nvc, String collectionName) +111
System.Web.HttpRequest.get_Form() +129
System.Web.HttpRequest.get_HasForm() +8718647
System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull) +97
System.Web.UI.Page.DeterminePostBackMode() +63
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242
System.Web.UI.Page.ProcessRequest() +80
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.newadd_aspx.ProcessRequest(HttpContext context) +37
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.3053; ASP.NET 版本:2.0.50727.3053 请高手帮忙指教,要如何改正呢? 万分谢谢!
加上:ValidateRequest="false"
ValidateRequest="false"
原因:因为你提交的文本信息中包含有HTML的一些标签,所以被ASP。NET视为潜在的威胁,
解决方法:
1、在你的页面的Page指令中加上这个属性:validateRequest=false
2、在你的web.config中加上这个节点:<page validateRequest=false />
推荐方法1。
<%@ Page Language="C#" MasterPageFile="~/SupplierCenter/SupplierMaster.Master" AutoEventWireup="true" CodeBehind="AddProduct.aspx.cs" ValidateRequest="false" Inherits="Web.SupplierCenter.AddProduct" Title="" %>
换成
<%@ Page Language="C#" MasterPageFile="~/SupplierCenter/SupplierMaster.Master" AutoEventWireup="true" CodeBehind="AddProduct.aspx.cs" ValidateRequest="false" Inherits="Web.SupplierCenter.AddProduct" Title="" ValidateRequest="false" %>
<P><FONT face=宋体>dffdfdfdf</FONT></P>
<P><FONT face=宋体 color=#ff1493>q1212ererer43545454656576767</FONT></P>表再帮忙一下,如何读出那个已经通过FreeTextBox控件设置好的字体大小及颜色呢? 谢谢啊!
你用什么读的?用FreeTextBox这种HTML编辑控件编辑的。就用它来读取啊。。不要搞什么textbox或label等等。
如果不想用这种控件。也可以直接在前台这样写:<%= txt%>
然后在后台定义一个公共变量txt,给它赋值就可以了。
page指令加这个参数