我正在实现一个过滤器来设置
httpServletResponse.setHeader("X-XSS-Protection", "1; mode=block");
我已经编写了过滤器。我想检查它是否工作正常。
我想从响应对象中读取 header 。但我不知道该怎么做。
谁能告诉我怎么做吗?
或者如果有更好的方法,请告诉我。
编辑
更新代码
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”
请帮我解决这个问题。
提前致谢。
最佳答案
您可以像这样获取并阅读响应阅读器
request.getHeader("name of the header");
我猜在你的情况下你的目标是这样的
request.getHeader("X-XSS-Protection");
编辑
为了更清楚地说明,您可以考虑请求和响应的一些类比。
请求 - 您要发送的内容。
回复 - 您收到的内容
有关请求和响应的更多信息请参阅 this指南,它将包含您需要的有关请求和响应 header 的所有信息。具体转到“处理 Http 响应 header ”
关于java - 读取响应 X-XSS-protection 响应 header 中 header 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14050392/