2012-10-31 57 views
0

我在ASP.NET Web窗體創建一個文本和它時,HTML標籤進入它會創建下列錯誤:有逃避角色的ASP.NET方法嗎?

Server Error in '/GreetingCardMaker' Application. 
-------------------------------------------------------------------------------- 

A potentially dangerous Request.Form value was detected from the client (setGreeting="<br />"). 

有沒有在.NET類庫,我可以在調用一個方法字符串去除HTML?或者,有沒有一種方法可以寫入字符串?

+2

請詳細描述您的問題。 –

+0

什麼服務器錯誤?你把這個放在哪裏?有多種形式的逃生,取決於你想用什麼... – Lloyd

+0

「這些字符」有點太模糊。 –

回答

3

HttpServerUtility.UrlEncode() - 來自System.Web.dll。您在獲得任何數據

Perorms URL編碼(因爲從請求拉取消轉義原始值)

或者有Uri.EscapeUriString()這確實非常類似的東西。

0

當ASP.net的"Request Validation"過度關注阻止某些類型的內容注入(特別是HTML/XSS)時,通常會發生這種情況。

最直接的「修復」是禁用對那些東西的檢查,但直到現在,你有點避開惡意輸入。如果您禁用請求驗證,則必須準備好自己處理潛在的危險輸入。我不包括禁用此功能的步驟,因爲在禁用它之前,您應該確實知道自己在做什麼。

上面的鏈接是一個好的開始,但它不應該是您閱讀該主題的唯一內容。

0
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="page.aspx.cs" validateRequest="false" Inherits="Project.UI.page" %> 

在aspx頁面中添加validateRequest =「false」。這將禁用所選頁面的輸入驗證。