この翻訳は不完全です。英語から この記事を翻訳 してください。

Type String
Mandatory No
Example
"content_security_policy": "default-src 'self'"

アドオンはデフォルトでCSP(content security policy)が適用されています。デフォルトのポリシーの場合、ソースは <script> タグ及び <object> タグからのみロードできるように制限されており、 eval()のような潜在的に安全でない慣習(バッドプラクティス)は制限されます。 See Default content security policy to learn more about the implications of this.

"content_security_policy" manifestキーを使用して、アドオンのセキュリティを緩くしたり逆にもっと制限することができます。  このキーは、Content-Security-Policy HTTPヘッダーと同じ方法で指定されます。 See Using Content Security Policy for a general description of CSP syntax.

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

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

  • ポリシーは少なくとも script-src ディレクティブ及び object-src ディレクティブを含む必要があり、 script-src ディレクティブは 'self'キーワードを含まなければならない。
  • 外部のソースを使用する場合はhttps: スキームを使用しなければならない。
  • Remote sources must not use wildcards for any domains in the public suffix list (so "*.co.uk" and "*.blogspot.com" are not allowed, although "*.foo.blogspot.com" is allowed).
  • All sources must specify a host.
  • blob:, filesystem:, moz-extension:https:.スキームのリソースのみ指定することができる。
  • 'none', 'self''unsafe-eval'. keywords のみ指定することができる。(訳注:chromeと同様unsafe-inlineは許可されない)

有効な例

Allow remote scripts from "https://example.com": (see note 1 )

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

Allow remote scripts from any subdomain of "jquery.com":

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

Allow eval() and friends:

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

Allow the inline script: "<script>alert('Hello, world.');</script>":

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

Keep the rest of the policy, but also require that images should be packaged with the extension:

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

Require that all types of content should be packaged with the extension:

"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. Note: Valid examples display the correct use of keys in CSP. However, extensions with 'unsafe-eval', 'unsafe-inline', remote script, or remote sources in their CSP are not allowed for extensions listed on addons.mozilla.org due to major security issues.

 

 

ブラウザ互換性

ChromeEdgeFirefoxFirefox for AndroidOpera
基本サポート 有り 有り1482482 有り

1. Only the default content security policy is supported: "script-src 'self'; object-src 'self';".

2. Firefox does not support 'http://127.0.0.1' or 'http://localhost' as script sources: they must be served over HTTPS.

ドキュメントのタグと貢献者

 このページの貢献者: lv7777
 最終更新者: lv7777,