读取响应X-XSS保护响应头中的头的值

时间:2012-12-27 06:28:02

标签: java httpresponse

我正在实施一个过滤器来设置

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”

请帮我解决。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以像这样阅读和阅读回复阅读器

request.getHeader("name of the header");

我猜你的情况是你的目标是这样的

request.getHeader("X-XSS-Protection");

修改

为了进一步说明,您可以想一下Request和Response的一些类比。

  • 请求 - 您要发送的内容。

  • 回复 - 您收到的内容

有关请求和响应的更多信息,请参阅this指南,如果包含有关请求和响应标头的所有信息。具体去'Handling Http Response Headers'