public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
//提交按钮
string strMessage = this.TextBox1.Text;
strMessage = strMessage.Replace("<", "<font> < </font>");
this.TextBox1.Text = strMessage;
}
}
如上代码,运行时,我在textbox1中输入了 <><> 点"提交"就变成了: <font> < </font>><font> < </font>>
但是我写<html></html>时,却出了这么大的错!!!!!!!!
========================================================
从客户端(TextBox1="<html
>")中检测到有潜在危险的 Request.Form 值。
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。 异常详细信息: System.Web.HttpRequestValidationException: 从客户端(TextBox1="<html
>")中检测到有潜在危险的 Request.Form 值。
=======================================================
请问这是怎么回事 呢?我的目的就是想,在textbox1中输入代码也原样输出,htmlencode我知道,请帮我改这个函数好吗?
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
//提交按钮
string strMessage = this.TextBox1.Text;
strMessage = strMessage.Replace("<", "<font> < </font>");
this.TextBox1.Text = strMessage;
}
}
如上代码,运行时,我在textbox1中输入了 <><> 点"提交"就变成了: <font> < </font>><font> < </font>>
但是我写<html></html>时,却出了这么大的错!!!!!!!!
========================================================
从客户端(TextBox1="<html
>")中检测到有潜在危险的 Request.Form 值。
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或 配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。 异常详细信息: System.Web.HttpRequestValidationException: 从客户端(TextBox1="<html
>")中检测到有潜在危险的 Request.Form 值。
=======================================================
请问这是怎么回事 呢?我的目的就是想,在textbox1中输入代码也原样输出,htmlencode我知道,请帮我改这个函数好吗?
方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false" %>
方案二: 修改web.config文件:
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
因为validateRequest默认值为true。只要设为false即可。