--- title: content_security_policy slug: Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy tags: - Add-ons - Extensions - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/content_security_policy ---
{{AddonSidebar}}
String
必須 いいえ
"content_security_policy": "default-src 'self'"

拡張機能はデフォルトでCSP(content security policy)が適用されています。デフォルトのポリシーの場合、ソースは <script> タグ及び <object> タグからのみロードできるように制限されており、 eval()のような潜在的に安全でない慣習(バッドプラクティス)は制限されます。この実装のより詳細は Default content security policyを見てください。

"content_security_policy" manifestキーを使用して、アドオンのセキュリティを緩くしたり逆にもっと制限することができます。  このキーは、Content-Security-Policy HTTPヘッダーと同じ方法で指定されます。 CSP  の文法の一般的な記述はCSPを使用するを見てください。

例として以下のような使用方法が可能です:

指定できるポリシーには以下のような制限があります。

有効な例

"https://example.com" からのリモートスクリプトを許可: ( 1 を見よ)

"content_security_policy": "script-src 'self' https://example.com; object-src 'self'"

"jquery.com" のサブドメインからのリモートスクリプトを許可:

"content_security_policy": "script-src 'self' https://*.jquery.com; object-src 'self'"

eval() and friendsを許可:

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self';"

次のインラインスクリプトを許可: "<script>alert('Hello, world.');</script>":

"content_security_policy": "script-src 'self' 'sha256-qznLcsROx4GACP2dm0UCKCzCG+HiZ1guq6ZZDob/Tng='; object-src 'self'"

他のポリシーはそのままだが、画像は拡張機能にパッケージされていることを要求する:

"content_security_policy": "script-src 'self'; object-src 'self'; img-src 'self'"

すべてのコンテンツが拡張機能にパッケージされていることを要求する:

"content_security_policy": "default-src 'self'"

無効な例

"object-src" ディレクティブが省略されているポリシー:

"content_security_policy": "script-src 'self' https://*.jquery.com;"

 "script-src" ディレクティブにおいて "self" キーワードが入っていないポリシー:

"content_security_policy": "script-src https://*.jquery.com; object-src 'self'"

リモートソーススキームが https ではない:

"content_security_policy": "script-src 'self' http://code.jquery.com; object-src 'self'"

ワイルドカードを通常のドメインに使用している:

"content_security_policy": "script-src 'self' https://*.blogspot.com; object-src 'self'"

リモートソーススキームは https だがホストがない:

"content_security_policy": "script-src 'self' https:; object-src 'self'"

ディレクティブに現在サポートしていない 'unsafe-inline'キーワードが含まれている:

"content_security_policy": "script-src 'self' 'unsafe-inline'; object-src 'self'"

1. 注記: 有効な例は正しい CSP のキーの使い方を表しますが、'unsafe-eval', 'unsafe-inline', リモートスクリプト、リモートソースを CSP に指定する拡張機能は、主なセキュリティの問題から、addons.mozilla.org に載せる拡張機能には許可されません。

ブラウザ互換性

 

{{Compat("webextensions.manifest.content_security_policy")}}