CSP: sandbox
HTTP の Content-Security-Policy (CSP) における sandbox ディレクティブは、 <iframe> の sandbox 属性と同様に、要求されたリソースに対してサンドボックスを有効にします。これは、ポップアップの防止、プラグインやスクリプトの実行の防止、同一オリジンポリシーの強制などを含むページ操作の制限を適用します。
| CSP バージョン | 1.1 / 2 |
|---|---|
| ディレクティブ種別 | 文書ディレクティブ |
このディレクティブは <meta> 要素や Content-Security-policy-Report-Only ヘッダーフィールドでは対応していません。 |
|
構文
http
Content-Security-Policy: sandbox;
Content-Security-Policy: sandbox <value>;
<value> は省略可能で、以下の値の内の一つです。
allow-downloads-
download 属性がついた
<a>または<area>要素における、ファイルのダウンロードのための操作を通してファイルのダウンロードを可能にします。これは、ユーザーがリンクをクリックしたか、JS コードがユーザーとの対話なしに開始したかに関係なく、動作します。 allow-downloads-without-user-activationExperimental-
ユーザーによる指示のないダウンロードを許可します。
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 でアクセスを要求できるようにします。
-
リソースが、(
_topという名前の)最上位の閲覧コンテキストを移動させることを許可します。 -
ユーザーの指示で開始された場合に限り、リソースが最上位の閲覧コンテキストを移動させます。
-
ブラウザーに組み込まれている、またはウェブサイトによって登録された
http以外のプロトコルへのナビゲーションを可能にします。この機能はallow-popupsまたはallow-top-navigationキーワードでも有効になる。
例
http
Content-Security-Policy: sandbox allow-scripts;
仕様書
| Specification |
|---|
| Content Security Policy Level 3 # directive-sandbox |
ブラウザーの互換性
BCD tables only load in the browser