首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"Content-Security-Policy","frame-ancestors 'none'“不工作

"Content-Security-Policy","frame-ancestors 'none'“不工作
EN

Stack Overflow用户
提问于 2020-05-12 10:30:13
回答 1查看 595关注 0票数 0

我有下面的java过滤器来为我的Angular应用程序的每个响应提供CSP。

代码语言:javascript
复制
public class FrameOptionsFilter implements Filter {

@Override
public void doFilter(ServletRequest request, ServletResponse servletResponse, final FilterChain filterChain)
        throws IOException, ServletException {
    HttpServletResponse response = (HttpServletResponse) servletResponse;
    response.setHeader("Content-Security-Policy", "frame-ancestors 'none'");
    ...

我使用以下代码片段来测试我的应用程序:

代码语言:javascript
复制
    <html>
     <head>
     <title>Clickjacking Test</title>
      </head>
       <body>
        <p>Website is vulnerable to clickjacking!</p>
        <iframe src="http://localhost:4200/myapp/" width="600" height="600"></iframe>
        </body>
    </html>

登录屏幕加载,一旦登录,我仍然可以访问应用程序!

来自服务器的响应:

代码语言:javascript
复制
Request URL: https://localhost:4200/myapp/login/jwt
HTTP/1.1 200 OK
X-Powered-By: Servlet/3.1
Content-Security-Policy: frame-ancestors 'none'

我遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-05-28 17:52:00

frame-ancestors CSP指令必须来自子级/iframe。这将是/myapp响应。

如果您想以另一种方式完成此操作,则应该在/myapp/login/jwt响应中包含frame-src 'none';

框架祖先告诉任何想要iframe的人,如果他们被允许这样做,并给孩子控制这一点的能力。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61742763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档