2015-04-02 148 views
-1

如果用戶輸入javascript:alert('e');在我的應用程序的評論部分,然後在重新加載頁面時顯示警報。如何在java中驗證這些用戶輸入。如何避免XSS攻擊

+1

從這裏開始[OWASP XSS備忘單](https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet) – SubOptimal 2015-04-02 14:01:40

+1

這個問題可能更適合http://security.stackexchange。 com/ – LittlePanda 2015-04-02 14:31:00

+0

使用內置的轉義機制,如[](http://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/c/out.html)或[ ](http://docs.oracle.com/javaee/5/javaserverfaces/1.2/docs/tlddocs/h/outputText.html)來顯示您的評論。 – VGR 2015-04-02 14:38:04

回答

1

修復XSS攻擊的標準行業方法是對白名單中的所有應用程序輸入進行編碼。確保沒有超出預定的輸入範圍。這通常是使用掃描所有輸入的正則表達式來完成的。

此外,爲了保護您的應用程序免受反映的XSS攻擊,還應該考慮服務器端的編碼輸出。

看看ESAPI和antisamy框架提供的API來協助這項工作。

Antisamy Project

ESAPI Security API

+0

我知道,我需要驗證輸入,但如何做到這一點。我需要將ESAPI jar放入我的項目中嗎? – user3592257 2015-04-02 14:18:54

+0

是的,jar需要在你的類路徑中,這樣你才能調用ESAPI API – 2015-04-02 14:20:32

0

你寫用戶輸入返回到新的頁面每次,最簡單的辦法就是逃跑的內容。