問題タブ [content-security-policy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - コンテンツ-セキュリティ-グーグルクローム拡張機能の作成におけるポリシーエラー
ページ上のすべてのリンクを新しいタブで開くChrome拡張機能を作成しています。
これが私のコードファイルです:
マニフェスト.json
popup.html
background.js
最初は、ページ上のすべてのリンクを強調表示するか、何らかの方法でそれらにマークを付けたいと思いました。しかし、「Content-Security-Policyのためにインラインスクリプトの実行を拒否しました」というエラーが表示されます。
ポップアップ内のボタンを押すと、次のエラーが発生しますRefused to execute inline event handler because of Content-Security-Policy
。
Chrome拡張機能を使用して新しいタブですべてのリンクを開くことができるように、これらのエラーを修正するのを手伝ってください。
javascript - Google Chrome での CSP 違反のデバッグ
次の Content-Security-Policy HTTP ヘッダーを使用しながら、TinyMCE を使用しようとしています。
ツール - JavaScript コンソールで次のエラーが表示されます。
ただし、指定された CSP ヘッダーを操作するために外部のみを使用するため、実行可能な JS コードはありません。test.xhtml
<script>
への参照about:blank
も同様に無効です。
CSP違反の原因がどこにあるのかを突き止める方法はありますか?
Chrome の内部 JS デバッガーがソースを特定していないようです。
さらに、何らかの理由で、Chrome はツール - 開発者ツール - ネットワークで CSP 違反レポートを「保留中」と表示しますが、送信するデータを検査しても追加情報は得られません。例:
エラー メッセージはonclick
、TinyMCE がオンザフライでロードする HTML の一部に属性などを使用することに関するものであることがわかりましたが、どのファイルを探すべきでしょうか? もう 1 つのエラーは、おそらく TinyMCE HTML の一部で、href
値が で始まるものjavascript:
もありますが、これも Chrome からのポインターがないと見つけるのが非常に困難です。セットアップ全体が Firefox 13 で動作します (対応する CSP ヘッダーを使用)。
CSP違反ごとにChromeに例外をスローさせる方法はありますか?
gwt - manifest_versionを使用したGWTChrome拡張機能:2
GWTとmanifest_version2を使用してChrome拡張機能を作成できる人はいますか?GWTで生成されたすべてのファイルもサンドボックス化しましたが(ここで提案されているように)、それでも機能しません。
マニフェスト.json
background.js
ヴィシャール
javascript - Chromeのコンテンツセキュリティポリシーと連携するJavascriptテンプレートエンジン
Chrome APIのマニフェストバージョン2では、安全でない評価を行う機能が削除されました。これは、eval関数を使用すること、または一般にテキストから関数を動的に作成することを意味します。
すべてではないにしてもほとんどのJavascriptテンプレートエンジンがこれを行うようです。私はJamlを使用していましたが、backbone.js(実際にはunderscore.jsのテンプレートエンジンを使用しています)のような他のいくつかを試しましたが、運がありませんでした。
Chromiumプロジェクトに関するこのコメントは、これに苦しんでいるライブラリが非常に多いことを示しているようです。
Angular.jsにはCSPセーフモードがあると思いますが、Angular.jsは本当に必要なものには大きすぎます。かなり基本的なテンプレートエンジンが必要であり、モデルやコントローラーなどは必要ありません。CSP互換のテンプレートエンジンについて知っている人はいますか?
javascript - Chrome拡張機能でJSONを取得する
Chrome拡張機能に小さな問題があります。
別のサーバーからJSON配列を取得したかっただけです。しかし、マニフェスト2ではそれができません。指定しようとしcontent_security_policy
ましたが、JSON配列がSSL証明書なしでサーバーに保存されています。
では、マニフェスト1を使用せずに何をすべきでしょうか?
javascript - コンテンツ セキュリティ ポリシー エラー、インライン JavaScript なし
Chrome 拡張機能を読み込もうとすると、次のエラーが表示されます。
Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' https://ajax.googleapis.com".
これが私のmanifest.jsonの一部です:
私のjavascript全体で、私はhttps://ajax.googleapis.comとのみ通信しており、 Inspect viewsのNetworkタブで確認しました。
そして、すべての JavaScript コードが.jsファイル内にのみ存在することを確認しました。(はい、必要に応じてaddEventListener()を使用しています。
助言がありますか?
更新:エラーの原因となるコードを表示しています(ロブからの質問)これは、私が任意のサーバーと通信している唯一の場所です:
javascript - コンソールにコンテンツセキュリティポリシーに関するエラーと多くの失敗したGETリクエストが表示されます
私は実際に最初のChrome拡張機能に取り組んでおり、スムーズに実行get()
されたとしても、データを取得するために使用している関数から多くのエラーが発生し、コードのセキュリティに関する厄介なエラーが発生しました。
これがコンソールログのスクリーンショットです:
以下に関連するコードがあります:
popup.html
popup.js
このスクリプト$.get()
は、リモートWebページへの作成を開始します。変数の内容はここdata
にあります
ここでは、jqueryからすべての操作を行った後のHTMLを見つけることができます。
正直なところ、これらのエラーがなぜ表示されるのか、特にセキュリティに関連するエラーが表示されるのか理解できません。私はpopup.htmlでインラインコードを使用していません。
Manifest.json
以下は、すべての操作の後にポップアップウィンドウにレンダリングされるHTMLコードの一部です。すべてdiv
がこれに似ていますが、URLが変わるだけです。
必要に応じて、完全なソースコードを提供できます。
gwt - おそらくCSPが原因で、GWTアプリケーションをChromeパッケージアプリとして機能させることができません
CSP エラーが発生し続ける: 「次のコンテンツ セキュリティ ポリシー ディレクティブに違反しているため、インライン スクリプトの実行を拒否しました: "script-src 'self'"
この問題は、インライン JS を含む GWT によって生成された HTML ファイルが原因である可能性があります。
UPD : マニフェスト バージョン 1 への変更は役に立ちましたが、これは一時的な回避策です。Chrome 21 ではサポートされなくなると不平を言っているからです。
UPD2: <add-linker name="xsiframe" />
どちらも役に立たない
javascript - コンテンツセキュリティポリシー:Chrome拡張機能にGoogleAPIを読み込めません
これは相対的なChrome拡張機能です。GoogleChartAPIを使用した簡単なものを試しています
このコードは、アイコンをクリックすると読み込まれるHTMLドキュメント「popup.html」に含まれています。
次のメッセージが表示されます。
次のコンテンツセキュリティポリシーディレクティブ「script-src'self'chrome-extension-resource:」に違反しているため、スクリプト'http://www.google.com/jsapi?key=xxxxxxxxxxx'の読み込みを拒否しました。
マニフェストファイルを変更しようとしましたが、成功しませんでした。
何か案が?