8

为了解决 clickJacking 和阻止我的网站被 iframe 打开的问题,我创建了一个 servlet 过滤器,我在其中添加以下行以添加“X-FRAME-OPTIONS”响应标头。但是当我运行页面并查看该页面的响应标头时,我永远不会在其中获得该标头。任何想法为什么?

public void doFilter(
        ServletRequest request, ServletResponse response, FilterChain chain
        ) throws IOException, ServletException
    {

        HttpServletResponse res = (HttpServletResponse)response;
        chain.doFilter(request, response);

        //Specify the mode
        res.addHeader("X-FRAME-OPTIONS", "DENY");
    }
4

1 回答 1

16

您需要在调用之前添加标题doFilter。到时间控制从doFilter标题和正文返回时已经发送,所以你的addHeader被忽略了。

于 2012-07-07T02:56:23.160 回答