11

http://www.ember-cli.com/#ember-dataで提案されているように、Ember CLI で http-mock を使用しています。CSP の基本的な概念は理解していますが、Ember CLI アプリケーション内での CSP の構成は理解していません。

localhost:4200/api/開発中にこれを回避するために、リクエストを受け入れるようにアプリケーションを構成するにはどうすればよいですか。

Content Security Policy violation: {
    "csp-report": {
        "document-uri":"http://localhost:4200/products",
        "referrer":"",
        "violated-directive":"style-src 'self'",
        "effective-directive":"style-src",
        "original-policy":"default-src 'none'; script-src 'self' 'unsafe-eval' localhost:35729 0.0.0.0:35729; font-src 'self'; connect-src 'self' ws://localhost:35729 ws://0.0.0.0:35729 http://0.0.0.0:4200/csp-report; img-src 'self'; style-src 'self'; media-src 'self'; report-uri http://0.0.0.0:4200/csp-report;",
        "blocked-uri":"",
        "source-file":"chrome-extension://alelhddbbhepgpmgidjdcjakblofbmce",
        "line-number":1,"column-number":20481,"status-code":200
    }
}
4

1 に答える 1

13

を編集して、コンテンツ セキュリティ ポリシーを調整できますconfig/environment.js。あなたの場合、connect-srcスローされたエラーに関連していると思います(編集:style-srcおそらくChrome Extension Awesome Screenshotによって違反されているようです)。追加*すると、何にでも接続できるようになります。

var ENV = {

  ...

  contentSecurityPolicy: {
    'default-src': "'none'",
    'script-src': "'self'",
    'font-src': "'self'",
    'connect-src': "'self' *",
    'img-src': "'self'",
    'style-src': "'self' *",
    'media-src': "'self'"
  }
}

または、より具体的には、次を追加できます。

...
'connect-src': "'self' 'localhost:4200'",
...

さらに、これを開発環境に追加するだけの場合は、次のように入力します。

if (environment === 'development') {
  ENV.contentSecurityPolicy = {
    ...(policies)...
  }
}

CSP の詳細については、httpsember-cli : //www.npmjs.com/package/ember-cli-content-security-policy を参照してください。

一般的な CSP の詳細: http://content-security-policy.com/

于 2015-03-28T17:40:17.050 に答える