在使用create-react-app部署node.js应用程序时,无法更改内容安全策略

时间:2017-06-15 20:37:02

标签: reactjs deployment content-security-policy

我已经完成了#n;运行构建',并且在我的服务器端点上。我服务于此构建。

阅读How does Content Security Policy work?

我已将编译manifest.json编辑为:

{
  "short_name": "React App",
  "name": "Create React App Sample",
  "icons": [
    {
      "src": "favicon.ico",
      "sizes": "192x192",
      "type": "image/png"
    }
  ],
  "start_url": "./index.html",
  "display": "standalone",
  "theme_color": "#000000",
  "background_color": "#ffffff",
  "content_security_policy": "default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'; img-src * data: 'unsafe-inline'; connect-src * 'unsafe-inline'; frame-src *;"
}

我想允许一切。

当我将应用程序推送到heroku并访问它时,开发人员控制台显示

" 拒绝加载字体'数据:font / woff; base64,d09GRgABAAAAAGVUABEAAAAAxuQAAQAAAAAAAAAAAAAAAAAAAAAA ... eLo4GBkcWhIzkkAqQkEggceHw5HFkM2VRZJFlYebR2MP5v3cDSu5GJwWUDW9xG1hQXAFAmKZU ='因为它违反了以下内容安全策略指令:"默认-src' self'"。请注意' font-src'没有明确设置,所以' default-src'用作后备。 "

为什么不将default-src从self改为*?

1 个答案:

答案 0 :(得分:1)

添加unsafe-inline或unsafe-eval会破坏内容安全策略(CSP)的目的,您需要将哈希或随机数值添加到CSP指令中。