【问题标题】:Dart Polymer Paper with Chrome app - (inline script CSP issues)带有 Chrome 应用程序的 Dart Polymer Paper -(内联脚本 CSP 问题)
【发布时间】:2014-07-07 21:59:05
【问题描述】:

我正在尝试使用the dart package for Paper Element,当我将它作为网页运行时它运行良好,但是当我将它作为打包的 chrome 应用程序启动时出现了几个 CSP 错误。它们都是相对于包的内联脚本的,不显示自定义元素:

拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“default-src 'self' chrome-extension-resource:”。启用内联执行需要“unsafe-inline”关键字、哈希(“sha256-...”)或随机数(“nonce-...”)。另请注意,'script-src' 未明确设置,因此 'default-src' 用作后备。 核心图标.html:43

  • 有人在 chrome 封装的应用程序中成功使用了 dart Paper Element 吗?
  • 有没有办法从清单中禁用此 csp?

Here is my sample project

【问题讨论】:

  • 你使用的是 precompiled.js 文件吗?该文件是专门为处理 CSP 问题而生成的
  • 另外,不,不可能覆盖 Chrome 应用的默认 CSP。
  • @PixelElephant 你的意思是我每次想调试我的应用程序时都需要使用 Dart2Js ???哦

标签: dart google-chrome-app dart-polymer material-design


【解决方案1】:

我以为我读到此设置已从 Polymer 中删除,但包 README 仍然显示它

https://pub.dartlang.org/packages/polymer

transformers:
- polymer:
    entry_points:
    - web/index.html
    - web/index2.html
    csp: true

这是问题(未修复) https://code.google.com/p/dart/issues/detail?id=18011

我今天读到一个 Polymer.js 问题,说 HtmlImports polyfill 会导致这个问题,但我没有仔细看。 我刚试了下,没找到讨论帖。

【讨论】:

  • transformers 选项似乎在 dart2js-ing 时使用。那么当我从 Dartium 运行时如何解决 csp 问题?使用纯飞镖代码。
  • 对于开发,您应该能够放宽政策,特别是 localhost 资源developer.chrome.com/extensions/contentSecurityPolicy(我自己没有尝试过 - 只是用谷歌搜索过)
【解决方案2】:

我遇到了完全相同的问题。

简短的回答是“使用 Grunt 硫化,https://www.npmjs.org/package/grunt-vulcanize

Vulcanize 将内联 javascript 提取到外部 javascript 文件 (.js)。 使用方法在这里,https://github.com/polymerlabs/polymerchromeapp

Dart 纸元素没有内联 javascript(当然,它们被移植到 dart。)。 但问题是聚合物芯,纸元素。见https://github.com/dart-lang/paper-elements/tree/master/lib/src

他们仍然有内联 javascript。它们会导致 CSP 问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-02
    • 1970-01-01
    • 2023-03-30
    • 2014-12-27
    • 1970-01-01
    • 2013-11-26
    相关资源
    最近更新 更多