2016-09-20 2 views
3

AngularJS 1.5の依存関係を持つクロムプラグインを作成しようとしています。 その中で、このエラーが発生しています。AngularJS 1のCSPエラーとは何ですか?

EvalError: Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "default-src 'self' blob: filesystem: chrome-extension-resource:". 

私はこれの背後にある問題を理解できません。

同じアプリがウェブアプリケーションでうまく動作しています。なぜこのエラーが発生するのですか?

+0

は、この記事で見てください。 https://developer.mozilla.org/en-US/docs/Web/Security/CSP –

答えて

1

Angular 1.5には、CSP(コンテンツセキュリティポリシー)ルールを使用するときに適用される特定の制限と競合する可能性のある機能がいくつか使用されています。

ヘッダーレベルでこれに言及してください。

さらに、 Angular ngCSP をご覧ください。

+0

これが役に立ちますか? –

0

ng-cspディレクティブは、AngularJSのセキュリティポリシーを変更するために使用されます。

ng-cspディレクティブセットでは、AngularJSは評価関数を実行せず、インラインスタイルを挿入しません。

ng-cspディレクティブの値をno-unsafe-evalに設定すると、AngularJSは評価関数の実行を停止しますが、インラインスタイルの注入を許可します。

ng-cspディレクティブの値をno-inline-styleに設定すると、AngularJSはインラインスタイルをインジェクトするのを停止しますが、eval関数を許可します。

Google Chrome拡張機能またはWindows Apps用のアプリケーションを開発する場合は、ng-cspディレクティブを使用する必要があります。

例:

<!doctype html> 
<html ng-app ng-csp> 
... 
... 
</html> 
関連する問題