2011-04-24 75 views
10

如何安全防範我們的Web應用程序受到XSS攻擊?如果一個應用程序沒有對特殊字符轉換器進行任何轉換,那麼這個應用程序易受攻擊。如何避免XSS攻擊的應用程序?

+0

偉大的文章如何防止在不同情況下的XSS攻擊張貼在那裏:http://stackoverflow.com/questions/19824338/avoid-xss-and-allow-some-html-tags-with-javascript/19943011# 19943011 – user1459144 2013-11-13 00:55:49

回答

1

只需添加到WhiteFang34名單:

它有幾個白名單內置可供選擇,如允許一些HTML,沒有HTML等

我選擇了這個在,因爲它是如何Apache的百科全書的StringEscapeUtils.escapeHtml()處理撇號。即如果我們的用戶輸入:

艾倫的媽媽有一個很好的布朗尼食譜。

JSoup將獨自離開撇號,而Apache的百科全書將逃脫字符串:

艾倫\'媽媽有一個很好的布朗尼食譜。

在顯示給用戶之前,我不想擔心無法消除。

2

HTML轉義輸入工作得很好。 但在某些情況下,業務規則可能會要求您不要轉義HTML。 使用REGEX不適合該任務,使用它很難提出一個好的解決方案。

我發現最好的解決辦法是使用: http://jsoup.org/cookbook/cleaning-html/whitelist-sanitizer

它建立與所提供的輸入DOM樹和過濾器由白名單不previosly允許的任何元素。該API還有其他用於清理html的函數。