Я хочу использовать java Regex для проверки наличия <script/>
в моем url. Я хочу совместить, если символы url встречаются в ['"&<>\/]
, но для java регулярное выражение немного отличается, я не знаю, как правильно писать регулярное выражение. Может кто-то может мне помочь?Java Regex для защиты xSS
1
A
ответ
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}" />
вы ищете это http://docs.oracle.com/javase/7/docs/api/java /util/regex/Pattern.html – nachokk
Вы можете использовать www.txt2re.com для создания Java regex. –
** Это не будет безопасно! ** Существует несколько способов победить безопасность, которую вы описываете (например, '% 3Cscript% 3E'). Используйте надлежащую библиотеку очистки сатинировки URL или, еще лучше, избегайте вставки параметров запроса на вашу страницу. –