2013-06-20 89 views
1

我想用java正則表達式來檢查我的url中是否有<script/>。我想,如果URL中的字符出現在['"&<>\/]匹配,但是對於Java,正則表達式是有點不同,我不知道該怎麼寫正確的正則表達式來匹配。有人可以幫助我嗎?Java正則表達式保護xSS

+0

你正在尋找這個http://docs.oracle.com/javase/7/docs/api/java /util/regex/Pattern.html – nachokk

+0

您可以使用www.txt2re.com創建Java正則表達式。 –

+5

**這不會是安全的!**有幾種方法可以打敗你描述的安全性(例如,'%3Cscript%3E')。使用正確的URL清理庫,或者更好的辦法是避免將查詢字符串參數粘貼到頁面中。 –

回答

2

從來沒有做過Html編碼/解碼/驗證。如果您遇到過手動驗證html,xml等的代碼......這是一個錯誤。總是使用一個很好用的庫和同行評審這些類型的任務。不要成爲一名牛仔編碼員,並認爲你可以做得很好;要想得到正確的想法比想象的要難得多。 OWASP網站提供了有關如何在JAVA中執行此操作所需的一切。

0

你是如何顯示的查詢字符串參數?如果你是在JSP文件中這樣做,你可以簡單地使用<c:out>標籤來逃避它:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<c:out value="${param.myUnsafeParam}" />