我有一个带有日期选择器的搜索表单,很容易反映出XSS。我编写了这段代码,我认为我用这个解决方案成功地减轻了XSS,但我并不是百分百肯定。
String dateInput = this.getParameter(request, "dateInput");
boolean error = false;
if (!"".equals(dateInput)) {
// Looking for DD/MM/YYYY
Matcher m = Pattern.compile("(?:\\d{2}/\\d{2}/\\d{4})").matcher(dateInput);
if(m.matches() && m.find()) {
dateInput = m.group(1);
} else {
error = true;
dateInput = null;
}
} else {
error = true;
}
// dateInput is now safe from XSS
checkValidDate(dateInput)
在这种情况下,我防止XSS出错的方法是什么?
答案 0 :(得分:0)
XSS漏洞很难消除。输入验证是一种方法。我认为你的解决方案是正确的。为了防止它肯定使用: