在我們日常的網站開發中,安全問題已經變得非常重要了。其中,防止危險html代碼的攻擊更是至關重要的一環。
而ASP.NET提供了一些方便易用的方法來對請求中的html代碼進行過濾。
//過濾掉html代碼
string str = Server.HtmlEncode(inputString);
//允許指定的html標簽
string str2 = Server.HtmlEncode(inputString, new string[] { "p", "a", "img" });
//允許指定的html屬性
string str3 = Server.HtmlAttributeEncode(inputString);
在上面的三個方法中,Server.HtmlEncode()
最為基礎,可以過濾掉所有的html代碼,將其轉換為html實體;Server.HtmlEncode(string, string[])
則是允許指定一些允許的標簽,而其他標簽都會被過濾掉;而Server.HtmlAttributeEncode()
則是過濾掉html屬性中的所有特殊字符,以防止XSS攻擊。
在實際的開發中,我們還可以使用正則表達式等方法來對html代碼進行更加細致的過濾,以確保我們的網站可以免于受到危險html代碼的攻擊。