如何将本地站点添加到内容安全策略的框架祖先中?

lew*_*tur 6 security iis

我们最近在我们的网站上实施了内容安全策略,以限制哪些网站可以将其嵌入 iframe。我们托管在 IIS 上,web.config 中的行如下所示

<add name="Content-Security-Policy" value="frame-ancestors *.website.com *.otherwebsite.com" />

这是因为只有指定的测试环境才能在站点中使用 iframe。

我们当前的问题是,我们的客户无法在其本地开发环境中访问该网站,因为该网站被上述政策阻止。他们的本地站点在 IIS 中设置,主机文件中的一个条目与 CSP 中允许的域之一 ( dev.website.com.

我们尝试添加以下内容

  • 本地主机:*
  • 127.0.0.1:*
  • dev.website.com

不幸的是没有一个起作用。任何帮助将不胜感激,谢谢。

And*_*ndy 2

我也有同样的问题;对我来说,事实证明,只有当我指定端口时它才有效localhost(我在 Express 中工作):

app.use(helmet.contentSecurityPolicy({
    directives: {
      frameAncestors: ["https://some-domain.app", "http://localhost:3000"]
    }
  }))
Run Code Online (Sandbox Code Playgroud)

这允许我加载带有 iframe 的网站localhost以进行本地开发。