Мне нужно экранировать символы, чтобы избежать XSS.Я использую org.apache.commons.lang.StringEscapeUtils.escapeHtml (String str), который помогает следующим образом:
Необработанный ввод
" onmouseover=alert() src="
После выхода из HTML становится
" onmouseover=alert() src="
Однако в некоторых случаях отраженный ввод захватывается в одинарные кавычки, например:
test'];}alert();if(true){//
В этом конкретном случае экранирование HTML не оказывает никакого влияния.Тем не менее, org.apache.commons.lang.StringEscapeUtils также имеет метод escapeJavascript (String str), который преобразует входные данные в:
test\'];}alert();if(true){\/\/
Вопрос в том, могли бы вы очистить входные данные путем экранированияСначала HTML, а затем Javascript?Другой - заменить символ одинарной кавычки на \ 'вручную.
Любая помощь будет принята с благодарностью!