通過簡單的轉換後面的( 「大5」):HTML編碼是否阻止XSS安全漏洞?
& -> &
< -> <
> -> >
" -> "
' -> '
你將防止XSS攻擊?
我想你也需要在字符級別上白名單,以防止certain attacks,但following answer指出它過於複雜。
編輯這page細節it does not prevent more elaborate injections, does not help with "out of range characters = question marks" when outputting Strings to Writers with single byte encodings, nor prevents character reinterpretation when user switches browser encoding over displayed page.
實質上,只是逃避這些字符似乎是一個相當幼稚的方法。
...維基百科說「值得一提的是,雖然它被廣泛推薦,只需進行HTML實體編碼五個重要的XML字符並不總是足以阻止許多形式的XSS。編碼可能會非常棘手,強烈建議使用安全編碼庫。「並援引這篇文章,但我無法找到該文章中的內容證明該聲明:http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet – 2010-02-25 15:18:04
如果你不知道什麼你正在做或正在做不同的(錯誤的)地方。只要與它一致。在視圖圖層中重新顯示它們時,只編碼/轉義所有用戶控制的輸入(請求URL,請求參數,請求主體等等等等。源自用戶的所有內容)。就這樣。 – BalusC 2010-02-25 15:21:51
嘿池 - 你願意改變首選答案嗎? @ bobince的回答更好,並且有更多的讚揚。 – nslntmnx 2015-12-02 00:16:15