На Tomcat 4.1 работает существующее веб-приложение. Существует проблема XSS со страницей, но я не могу изменить источник. Я решил написать фильтр сервлета, чтобы очистить параметр до того, как он увидит страницу.
Я хотел бы написать класс фильтра следующим образом:
import java.io.*;
import javax.servlet.*;
public final class XssFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
String badValue = request.getParameter("dangerousParamName");
String goodValue = sanitize(badValue);
request.setParameter("dangerousParamName", goodValue);
chain.doFilter(request, response);
}
public void destroy() {
}
public void init(FilterConfig filterConfig) {
}
}
Но ServletRequest.setParameter
не существует.
Как изменить значение параметра запроса перед передачей запроса по цепочке?