2016-08-30 3 views
0

날짜 표시기가있는 검색 양식이 있으며 반사 된 XSS에 취약합니다. 이 코드를 작성 했으므로이 솔루션으로 XSS를 성공적으로 완화했다고 생각하지만 100 % 확실하지는 않습니다.날짜 형식으로 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

당신이 제공 한 답을 확인하는 시간이 있었나요? :) – Mark

답변

0

XSS 취약점을 제거하기 어렵습니다. 입력 유효성 검사는이를 수행하는 한 가지 방법입니다. 나는 당신의 해결책이 맞다고 생각합니다. 그것을 방지하기 위해 반드시 사용

StringEscapeUtils#escapeHtml(source);