[英]Make <h1> </h1> by C#
我在VS(C#和ASP.net)中编写以下代码:
using (StreamWriter streamWriter = File.CreateText(@"Example.aspx"))
{
streamWriter.WriteLine( "<pre>" + TextBox2.Text + "</pre>" );
}
此代码将打开example.aspx文件,并将TextBox2.text的值写入Example.aspx中。 但有一个问题 。 当我将<h1> </h1>
写入Textbox2.text时,出现错误。 或当我将<i> </i>
写入textbox2.text时,出现相同的错误! 我该怎么办? 。 提前致谢 。 我的错误是:
A potentially dangerous Request.Form value was detected from the client (ctl00$ContentPlaceHolder1$TextBox2="<h1> </h1>").
默认情况下,asp.net将阻止html代码作为文本框的输入,您必须在页面中设置此属性ValidateRequest="false"
详细示例:http: //yourtahir.wordpress.com/2008/03/28/aspnet-未允许-HTML功能于文本boxserver-误差在应用-A-potentialy危险-requestform -值被检测到的/
问题是ASP.NET筛选危险请求(包含诸如<
和>
字符的请求)。 您可以通过在@Page声明中放置ValidateRequest="false"
来禁用此验证。 当然,如果您这样做,您应该确保完全了解后果,因为您的网站现在对黑客开放。 在这种情况下,用户输入不会被清除,如果您决定将其写回到页面上,则应确保正确编码。
正如Darin建议的那样,除了添加ValidateRequest =“ false”之外,您还需要在<system.web>部分的web.config中添加<httpRuntime requestValidationMode =“ 2.0” />。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.