コンテンツ セキュリティ ポリシーを使用するように Web ソフトウェアを変更しようとしています。それなしでコンパイルすると、すべて正常に動作します。CSP ヘッダーを含めると、Chrome は (Chrome 開発者ツールを使用して) 2 つの場所でエラーを報告します。
- インライン JavaScript がないにもかかわらず、すべての ASPX または HTML ファイルの最初の行に「コンテンツ セキュリティ ポリシーに違反しているため、インライン スクリプトの実行を拒否しました...」というエラーが表示されます。
- 「このコンテキストでは許可されていない文字列からのコード生成」エラー - これは jquery-1.8.3.min.js ファイルに記載されていますが、私が書いたいくつかの JQuery から発生しているように見えます。ページ上にアイテムを生成する Web サービス。
では、2 つの質問があります。純粋な静的 HTML ファイルであるにもかかわらず、すべてのファイルが違反していると常に言われるのはなぜですか?
第二に、コンテンツのセキュリティは、JQuery を使用して html を生成するときに文字列を使用できないことを本当に意味していますか?それが専用の .js ファイルにある場合でも? 私はウェブ全体の情報を見てきましたが、この特定の問題は実際には解決されていません。では...ここでのルールは何ですか?
私が本当に望んでいるのは、A) インライン JavaScript と B) 外部 JS ファイルのロードを防ぐことだけです。
どんな助けでも大歓迎です!
更新: JQuery/JQueryUI を 1.8.2 / 1.9.1 にアップグレードすると、文字列エラーはなくなりました。以前使用していたバージョンはわずか 1 か月前のものだったので、これは JQuery の最近の改良のようです。他の変更も行っているため、これが JQuery であったかどうかはわかりませんが、可能であれば、より最近の JQuery を使用することは理にかなっています。