web.xml
<filter>
<filter-name>RequestFilter</filter-name>
<filter-class>com.filter.XSSFilter</filter-class>
XSSFilter.java
private String performEncoding(paramKeyOrValue){
String cleanValue = null;
if (paramKeyOrValue != null) {
cleanValue = ESAPI.encoder().encodeForHTML(paramKeyOrValue);
cleanValue = ESAPI.encoder().encodeForHTMLAttribute(cleanValue);
cleanValue = ESAPI.encoder().encodeForJavaScript(cleanValue);
}
return cleanValue;
}
在web.xml中,我定义了一个过滤器来防止XSS攻击。该过滤器具有使用ESAPI库对HTML进行编码的代码。但这还不能清除Checkmarx扫描报告中的Reflected-XSS攻击错误。