2015-09-25 3 views
7

ウェブアプリケーション用にCSPを実装しました。 nonceのすべてのインラインスクリプトが実行されます。それがないものは実行されません。しかし、これは私がコンソールに表示メッセージであるSafariではSafariでCSP nonceを無視しました

:コンテンツセキュリティポリシーディレクティブ「スクリプト-SRC」のソースリスト

が無効なソースが含まれます。 「」ナンス-fbe23fb21d40c38e8df7c0a16357dd3ec4be86ca233cb41206ac5f897cf9a103' を' これは無視されます。

ヘッダー:スクリプトが実行されているインラインの

Content-Security-Policy script-src 'nonce-cb28e5c8a2b833169bb8d1fa686f659fed9b3bf8ea52b86916bcaf20a04b3209' 'self' 

なし、ナンスとさえもの。

答えて

8

Safariはノンスをまだサポートしていません(これをサポートするには、地元のWebkit担当者に迷惑をかけてください)が、FirefoxとChromeは標準の動作を実装しています。すなわち、ノンスが存在する場合、'unsafe-inline'は無視されます。

'unsafe-inline'とあなたのノンスを送信すると、目的の動作が得られます。 Safariは「未知のソース値」について不平を言いますが、意図したとおりに動作します。

私は私の角度アプリで(安全ではない-インラインを許可しない)、このようなCSPを使用する場合、それはNGクリック作業のような角度のイベントをできるようになる?http://www.w3.org/TR/CSP2/#directive-script-src

+0

を参照してください。 –

+0

ng-clickがCSPで動作しない場合は、ng-clickの問題であり、CSPでは問題ではありません。 – oreoshake

+1

安全なインラインは、可能であれば避けるべきであることを指摘する価値があります。なぜなら、CSPを最初に使用する目的に反するからです。 – nucc1

関連する問題