このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
CSP: sandbox
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年11月.
HTTP のContent-Security-Policy (CSP) におけるsandbox ディレクティブは、<iframe> のsandbox 属性と同様に、要求されたリソースに対してサンドボックスを有効にします。これは、ポップアップの防止、プラグインやスクリプトの実行の防止、同一オリジンポリシーの強制などを含むページ操作の制限を適用します。
| CSP バージョン | 1.1 / 2 |
|---|---|
| ディレクティブ種別 | 文書ディレクティブ |
このディレクティブは<meta> 要素やContent-Security-policy-Report-Only ヘッダーフィールドでは対応していません。 | |
In this article
構文
Content-Security-Policy: sandbox;Content-Security-Policy: sandbox <value>;<value> は省略可能で、以下の値の内の一つです。
allow-downloads<a>または<area>要素にdownload 属性が付いていた場合に、ファイルのダウンロードのための操作を通してファイルのダウンロードを可能にします。これは、ユーザーがリンクをクリックしたか、JS コードがユーザーとの対話なしに開始したかに関係なく、動作します。allow-formsページがフォームを送信することを許可します。このキーワードを使用しない場合、フォームは通常通り表示されますが、フォームを送信しても入力の検証、ウェブサーバーへのデータ送信、ダイアログの終了は行われません。
allow-modalsページが
Window.alert()、Window.confirm()、Window.print()、Window.prompt()によってモーダルウィンドウを開けるようにします。一方、<dialog>を開くことはこのキーワードと無関係に許可されます。また、ページがBeforeUnloadEventイベントを受信することもできるようにします。allow-orientation-lockリソースが、画面の向きをロックできるようにします。
allow-pointer-lockこのページが、ポインターロック API を使用することを許可します。
allow-popupsポップアップ(
Window.open()、target="_blank"、Window.showModalDialog()などによるもの)を許可します。このキーワードが使用されなかった場合、この機能は暗黙に失敗します。allow-popups-to-escape-sandboxサンドボックス化された文書が、サンドボックスフラグを強制することなく新しいウィンドウを開くことを許可します。これによって、例えば、サードパーティの広告が安全にサンドボックス化される一方、ランディングページには同じ制限が強制されなくなります。
allow-presentation埋め込みを行った者が、 iframe がプレゼンテーションセッションを開始できるかどうかを制御できるようになります。
allow-same-originこのトークンが使用されなかった場合、リソースは同一オリジンポリシーに常に失敗する特別なオリジンからのものとして扱われます(潜在的にデータストレージやクッキーへのアクセスや、一部の JavaScript API の使用を阻止することが可能です)。
allow-scriptsこのページががスクリプトを実行することを許可します(ポップアップウィンドウの生成を除く)。このキーワードが使用されなかった場合は、この操作は許可されません。
allow-storage-access-by-user-activationExperimentalリソースが親のストレージ機能にストレージアクセス API でアクセスを要求できるようにします。
allow-top-navigationリソースが、(
_topという名前の)最上位の閲覧コンテキストを移動させることを許可します。allow-top-navigation-by-user-activationユーザーの指示で開始された場合に限り、リソースが最上位の閲覧コンテキストを移動させます。
allow-top-navigation-to-custom-protocolsブラウザーに組み込まれている、またはウェブサイトによって登録された
http以外のプロトコルへのナビゲーションを可能にします。この機能はallow-popupsまたはallow-top-navigationキーワードでも有効になる。
メモ:allow-top-navigation および関連する値は、埋め込み文書(子 iframe など)に対してのみ意味を持ちます。 独立した文書の場合、最上位の閲覧コンテキストは文書自体であるため、これらの値が示す効果はありません。
例
Content-Security-Policy: sandbox allow-scripts;仕様書
| Specification |
|---|
| Content Security Policy Level 3> # directive-sandbox> |