0

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

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”

请帮助我如何纠正它。

提前致谢。

4

1 回答 1

1

您可以像这样获取并阅读响应阅读器

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

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

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

编辑

为了更清楚地说明,您可以将 Request 和 Response 稍微类比一下。

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

  • 响应 - 您收到的内容

有关请求和响应的更多信息,请参阅指南,如果将包含您需要的有关请求和响应标头的所有信息。专门去'Handling Http Response Headers'

于 2012-12-27T06:54:41.460 回答