防止反映日期格式的XSS

时间:2016-08-30 12:40:33

标签: java security xss

我有一个带有日期选择器的搜索表单,很容易反映出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出错的方法是什么?

1 个答案:

答案 0 :(得分:0)

XSS漏洞很难消除。输入验证是一种方法。我认为你的解决方案是正确的。为了防止它肯定使用:

  

StringEscapeUtils#escapeHtml(source);