簡體   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