問題タブ [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.

0 投票する
1 に答える
3941 参照

javascript - インライン スクリプトはありませんが、「コンテンツ セキュリティ ポリシー ディレクティブにより拒否されました: "script-src 'self'" が引き続き表示されます。

APIにアクセスできる別のRSSリーダーで使用するために、Chrome用のGoogleリーダーのようなブラウザアクション拡張機能を作成しようとしています。これにより、ブラウザー アクションで X 個のリンクが生成され、それぞれが API によって指定された URL で新しいタブを開く必要があります。

ただし、リンクがクリックされるたびに、次のエラー メッセージが表示され続けます。 "Refused to execute JavaScript URL because it violates the following Content Security Policy directive: "script-src 'self' chrome-extension-resource:"."

主にインライン スクリプトに表示されるエラー メッセージを読んでいますが、明示的な onLoads やインライン スクリプト タグなどはありません。

マニフェスト.json:

background-action.js

browser-action.html

これはインラインスクリプトを暗黙的に作成しますか、それとも他の方法で台無しにしましたか?

0 投票する
1 に答える
727 参照

google-chrome-extension - Google+ 統合 Chrome 拡張機能の問題

Google+ API を Google Chrome 拡張機能に統合しようとしています。ここで紹介したこのクイック スタートの例に基づく私の統合: https://developers.google.com/+/quickstart/javascript

すべてのインライン JavaScript コードを別のファイルに移行し、manifest.json ファイルに content_security_policy 行を追加しました。

"content_security_policy": "script-src 'self' https://www.googleapis.com/ https://plus.google.com/ https://apis.google.com/ https://accounts.google.com / https://ssl.gstatic.com https://csi.gstatic.com https://developers.google.com ; object-src 'self'"

問題は次のとおりです。Google+ ボタンをクリックすると、次のエラー メッセージが表示されます。

次のコンテンツ セキュリティ ポリシー ディレクティブに違反しているため、JavaScript URL の実行を拒否しました: "script-src 'self' https://www.googleapis.com/ https://plus.google.com/ https://apis.google.com/ https://accounts.google.com/ https://ssl.gstatic.com https://csi.gstatic.com https://developers.google.com"

content_security_policy には明らかに不満です。このファイルの 468 行目でこの例外がスローされます。

https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.en.aop9WHMC8-8.O/m=client,plusone,signin/rt=j/sv= 1/d=1/ed=1/am=EQ/rs=AItRSTNUM79OpqDtwYl6kryPkOs00evROQ/cb=gapi.loaded_0 .

インライン スクリプトを埋め込んで実行しようとしているようで、コンテンツ セキュリティ ポリシーに違反しています。ポップアップの [同意する] ボタンをクリックすると、同じ例外が表示されます。その結果、ポップアップ ウィンドウが応答せずにハングします。

その経験はありますか?

0 投票する
1 に答える
3758 参照

php - PHP を使用してコンテンツ セキュリティ ポリシーの違反レポート (JSON DATA) を取得するにはどうすればよいですか?

コンテンツ セキュリティ ポリシーの便利な機能の 1 つは、違反を検出し、それを (違反レポート) として特定の URI に送信する機能です。CSP 1.1 Secのドキュメントによると。3.2.4 レポート:

違反レポートを送信するには、ユーザー エージェントは次と同等のアルゴリズムを使用する必要があります。

  • 同期フラグを設定せずに、HTTP メソッド POSTを使用して、保護されたリソースのオリジンからレポート URI をフェッチし、レポート ボディで構成されるエンティティ ボディを持つ application/json の Content-Type ヘッダー フィールドを指定します。レポート URI のオリジンが保護されたリソースのオリジンと同じでない場合は、ブロック Cookie フラグも設定する必要があります。ユーザー エージェントは、このリソースを取得するときにリダイレクトに従ってはなりません。(注: ユーザー エージェントは取得したリソースを無視します。)

次に、セクション5.2 違反レポートの例で例を示します。

次の例では、ユーザー エージェントは次の CSP ポリシーを使用してリソースhttp://example.org/page.htmlの表現をレンダリングしました。

保護されたリソースが http://evil.example.com/image.pngから画像を読み込み、ポリシーに違反しました。

例:

test.php

csp-report.php

csp-report.txt

ご覧のとおり、そのファイルには何も保存されていません。ただし、Firebug を使用すると、レポートがそのファイルに送信されたようです。

ここに画像の説明を入力

注:通常の投稿が機能しない理由と、どの代替手段を使用する必要があるか、およびその理由について言及している分析的な回答を期待しています。また、JSON をデコードする方法を提供することもプラスです。

0 投票する
0 に答える
1052 参照

javascript - Chrome 拡張ポップアップで ajax で https URL を使用する

これに対する解決策がどこにも見つからないようです。別のサービスにデータを送信するための Chrome 拡張機能を作成しています。その機能は、安全な URL にあるサードパーティ API に基づいています。問題は、https URL を機能させることができず、代わりに次のエラーが発生することです。

Refused to load the script 'http://app.something.com/api/v1/idea/create?apikey=...&summary=test&_=1376649061760' because it violates the following Content Security Policy directive: "script-src 'self' https://app.something.com".

URLの権限httpsが追加され、content_security_policyが で定義されますmanifest.json。後者が正しく定義されているかどうかは完全にはわかりませんが。

マニフェスト.json

popup.js

popup.html

私の質問は:

を使用してこれを回避できますか、$.ajaxまたはこの問題を回避する別の (より良い) 方法はありますか?

0 投票する
2 に答える
1944 参照

javascript - Firefox プラグインからページに js を挿入するときに CSP をバイパスすることは可能ですか?

ページにJavaScriptを注入することで(head要素の下に要素を作成し、そのinnerHTML値を実行するJavaScriptに設定することにより)、githubのWebアプリと対話するために使用されるFirefoxプラグインがあります。

ただし、最近は機能しなくなりました。その後、次の警告が表示されました。

Github は次のヘッダーを返します。

Firefox が X-Content-Security-Policy ヘッダーを通じて CSP のサポートを開始したことは知っていましたが、プラグインからブレーキへのコード インジェクションを防止する何らかのメカニズムが配置されると考えていました。

拡張 API に、ページに JavaScript を挿入して CSP 設定をバイパスするための特定のメカニズムがあるかどうかは誰にもわかりませんか? 理由は - ユーザーがプラグインをインストールしている場合、彼/彼女はそれを信頼しており、CSP をバイパスする方法が必要です。

0 投票する
1 に答える
2499 参照

google-chrome - Chrome 拡張機能の content_security_policy 文字列が Chrome で認識されない

Google Earth を使用する Google Chrome 拡張機能を作成しています。

マニフェストに次を追加しました。

それでも、拡張機能を実行すると、次のエラーが発生します。