天天看點

HtmlEncode和JavaScriptEncode(預防XSS)

在資料添加到dom時候,我們可以需要對内容進行htmlencode或javascriptencode,以預防xss攻擊。

javascriptencode

使用“\”對特殊字元進行轉義,除數字字母之外,小于127的字元編碼使用16進制“\xhh”的方式進行編碼,大于用unicode(非常嚴格模式)。

HtmlEncode和JavaScriptEncode(預防XSS)
HtmlEncode和JavaScriptEncode(預防XSS)

htmlencode

将字元轉換成htmlentites,以對抗xss。

HtmlEncode和JavaScriptEncode(預防XSS)
HtmlEncode和JavaScriptEncode(預防XSS)

test

這些編碼後的内容都能在頁面上顯示正常。 

番外

還有人弄了簡單htmlencode,有兩種方式。

1. 用浏覽器内部轉換器實作html轉碼(但我覺得這種方式有風險的,因為内部轉換器可能有漏洞)。

2. 隻轉一部分html字元(這種方式不完整)。

HtmlEncode和JavaScriptEncode(預防XSS)
HtmlEncode和JavaScriptEncode(預防XSS)

本文為原創文章,轉載請保留原出處,友善溯源,如有錯誤地方,謝謝指正。

轉載:http://www.cnblogs.com/lovesong/p/5211667.html