我正在实施一个过滤器来设置
httpServletResponse.setHeader("X-XSS-Protection", "1; mode=block");
我写了过滤器。我想检查一下它的工作是否完美。
我想从响应对象中读取标题。但我不知道该怎么做。
任何人都可以告诉你该怎么做。
如果有更好的方法,请告诉我。
修改
更新代码
public void doFilter(final ServletRequest req, final ServletResponse res, final FilterChain filterChain)
throws IOException, ServletException
{
final HttpServletResponse response = (HttpServletResponse) res;
final HttpServletRequest request = (HttpServletRequest) req;
//set X-XSS-protection in http header, other http headers can be added in same way
String value = enable ? "1" : "0";
if(block)
{
value += "; mode=block";
}
PrintWriter out = response.getWriter();
out.println("ready to set xss");
response.setHeader("X-XSS-protection", value);
out.println("<br/><br/>Xss has been set");
filterChain.doFilter(req, res);
out.println("<br/><br/>XSS"+request.getHeader("X-XSS-protection"));
out.println("<br/><br/>job done");
}
我正在“XSSnull”
请帮我解决。
提前致谢。
答案 0 :(得分:1)
您可以像这样阅读和阅读回复阅读器
request.getHeader("name of the header");
我猜你的情况是你的目标是这样的
request.getHeader("X-XSS-Protection");
修改强>
为了进一步说明,您可以想一下Request和Response的一些类比。
请求 - 您要发送的内容。
回复 - 您收到的内容
有关请求和响应的更多信息,请参阅this指南,如果包含有关请求和响应标头的所有信息。具体去'Handling Http Response Headers'