2016-05-05 34 views

回答

0

從微軟的How To: Prevent Cross-Site Scripting in ASP.NET

過濾用戶輸入兩者

如果您有需要通過某種富文本輸入域的接受範圍內的HTML元素,爲 例如網頁,您必須禁用 頁面的ASP.NET請求驗證。如果您有多個頁面 這樣做,請創建一個篩選器,只允許您要接受的HTML元素。通常的做法是將格式限制爲 安全的HTML元素,如bold()和italic()。

要放心地讓有限的HTML輸入

Disable ASP.NET request validation by the adding the ValidateRequest="false" attribute to the @ Page directive. 
Encode the string input with the HtmlEncode method. 
**Use a StringBuilder and call its Replace method to selectively remove the encoding on the HTML elements that you want to permit.** 

在此基礎上,它似乎最好的做法是將搜索和替換&放大器;與&。看起來不是很優雅,但這是從MSDN直接。

+1

是否替換爲&?因爲替換&與&不會做太多... –

+0

是的。 。編輯後,它保存了正確的文本,所以我只是修復它。我不知道它是放大器,還是放大器。 –