繁体   English   中英

使 <h1></h1> 通过C#

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM