[60] [DFN[[RUBYB[砂箱化]@en[sandboxing]]]]は、
[[スクリプト]]等により可能な操作を制限するものです。
[CODE(HTMLe)@en[[[iframe]]]] [[要素]]の [DFN[[CODE(HTMLa)@en[[[sandbox]]]]]]
[[属性]]は、[[入れ子閲覧文脈]]の[[砂箱化]]を指示するものです。
[[CSP]] の [DFN[[CODE(HTTP)@en[[[sandbox]]]]]] [[指令]]は、
[[資源]]の[[砂箱化]]を指示するものです。

[40] [[UGC]] や外部提供の[[広告]]など、主たるページの[[著者]]が完全には制御できない内容を埋め込みたい時に、
埋め込まれる内容の[[著者]]が利用できる機能を制限するために使うことができます。

* 仕様書

[REFS[
- [31] '''[CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#attr-iframe-sandbox>'''
- [59] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2015-05-06 10:42:35 +09:00]] 版) <https://html.spec.whatwg.org/#sandboxing>
- [48] [CITE@en[Content Security Policy]] ([TIME[2015-07-16 16:42:52 +09:00]] 版) <https://w3c.github.io/webappsec/specs/content-security-policy/#directive-sandbox>
- [57] [CITE@en[Content Security Policy]] ([TIME[2015-07-16 16:42:52 +09:00]] 版) <https://w3c.github.io/webappsec/specs/content-security-policy/#directive-frame-ancestors>
]REFS]

* 意味

[32] [CODE(HTMLa)@en[[[sandbox]]]] [[属性]]は、 [CODE(HTMLe)@en[[[iframe]]]]
[[要素]]の中の[[内容]]に追加の制限を加えるものです [SRC[>>31]]。

[36] 本[[属性]]が指定されていると、色々な制限が適用されます。
[[属性]]に値を指定することで、その制限の一部を緩和できます。

;; [37] なお、すべての値を指定しても、すべての制限を緩和できるわけではありません
([[属性]]を指定しない状態になるわけではありません)。

[38] 本[[属性]]の指定は、 [[navigate]] 時に適用されます。変更したり削除したりしても、
直ちに適用されるのではなく、次の [[navigate]] より適用されます。

[50] [[CSP]] の [CODE(HTTP)@en[[[sandbox]]]] [[指令]]は、保護対象[[資源]]に適用するべき制限を指定するものです [SRC[>>48]]。
[[CSP]] では[[閲覧文脈]]ではなく、[[閲覧文脈]]内の[[文書]]単位で制限を適用します。
[[最上位閲覧文脈]]でも使うことができます。

[73] [[祖先]]すべての[[閲覧文脈]]を含めた [[HTML]]
[CODE(HTMLa)@en[[[sandbox]]]] [[属性]]と [[CSP]] [CODE(HTTP)@en[[[sandbox]]]]
[[指令]]の最も厳しい制限が適用されます。

* 属性名

[51] [CODE(HTMLe)@en[[[iframe]]]] [[要素]]の[[属性名]] [SRC[>>31]] も、
[[CSP]] の[[指令名]] [SRC[>>48]] も、 [CODE(HTML)@en[[[sandbox]]]] です。

* 属性値

[33] [CODE(HTMLe)@en[[[iframe]]]] [CODE(HTMLa)@en[[[sandbox]]]]
[[属性値]]は、[[unordered set of unique space-separated tokens]] でなければ[['''なりません''']] [SRC[>>31]]。

[52] [[CSP]] [CODE(HTTP)@en[[[sandbox]]]] [[指令]]の値は、
[[空文字列]]か、1つ[[以上]]の[[字句]]を1つ[[以上]]の [[WSP]] で区切った列のいずれかでなければ[['''なりません''']] [SRC[>>48]]。

;; [53] 実質的に [[HTML]] も [[HTTP]] も同じ構文ですが、[[空白]]や[[文字参照]]の扱いはそれぞれの通常の規定に準じています。

[34] 各値は、認められた値のいずれかでなければなりません。
[[ASCII大文字・小文字不区別]]です [SRC[>>31]]。

[49] [[HTML Standard]] では、認められる値がすべて規定されているため、
一般的な構文は規定されていません。 [[CSP]] では、[[HTTP]] の[[字句]]であると構文を規定し
[SRC[>>48]]、 [[HTML]] で認められる値を使わなければ[MUST[ならない]] [SRC[>>48]]
と規定していますが、 [[HTML]] と違って同じ値の重複は禁止されていないようです。

* 砂箱化フラグ集合

[61] [[砂箱化]]は、仕様書上はいくつかのフラグの集合として表されており、
これを[DFN[[RUBYB[[[砂箱化フラグ集合]]]@en[sandboxing flag set]]]] [SRC[>>57]]
といいます。

[62] [[砂箱化]]の指定がない場合、[[砂箱化フラグ集合]]は空とされ、
[[砂箱化]]はまったく行われません。

[63] [CODE(HTMLa)@en[[[sandbox]]]] [[属性]] [SRC[>>31]] や
[CODE(HTTP)@en[[[sandbox]]]] [[指令]] [SRC[>>48]] などで[[砂箱化]]が指示されている場合、
[DFN[[[parse a sandboxing directive]]]] [SRC[>>31]] 操作により新たな[[砂箱化フラグ集合]]が作られます。
この操作では、明示的に除外することが指定されたフラグを除いたすべての[[砂箱化]]のフラグが設定されます。

;; この操作では、指定された[[キーワード]]や、別途与えられた [[allow fullscreen flag]]
により、[[砂箱化]]のフラグを設定します。詳しくは次表を参照。

[64] [[属性値]] [SRC[>>31]] や[[指令値]] [SRC[>>48]] は、
[[間隔で分割]]しなければ[['''なりません''']]。 その結果[[キーワード]]が含まれていれば、
次表の通り、フラグが設定されません。

;; [65] [[属性値]]の定義より[[ASCII大文字・小文字不区別]]と思われますが、
処理方法の規定では明記されていません。

[35] 次のフラグがあります。
[FIG(table)[
:flag:フラグ
:kwd:フラグを設定しない条件

:flag:[[sandboxed navigation browsing context flag]]

:flag: [[sandboxed top-level navigation without user activation browsing context flag]]
:kwd:[CODE(HTML)@en[allow-top-navigation]] [[キーワード]]が指定された時

:flag: [[sandboxed top-level navigation with user activation browsing context flag]]
:kwd:
[CODE(HTML)@en[allow-top-navigation]] [[キーワード]]または
[CODE(HTML)@en[allow-top-navigation-by-user-activation]] [[キーワード]]が指定された時

:flag:[[sandboxed plugins browsing context flag]]

:flag:[[sandboxed auxiliary navigation browsing context flag]]
:kwd:[CODE(HTML)@en[[[allow-popups]]]] [[キーワード]]が指定された時

:flag:[[sandboxed origin browsing context flag]]
:kwd:[CODE(HTML)@en[[[allow-same-origin]]]] [[キーワード]]が指定された時

:flag:[[sandboxed forms browsing context flag]]
:kwd:[CODE(HTML)@en[[[allow-forms]]]] [[キーワード]]が指定された時

:flag:[[sandboxed pointer lock browsing context flag]]
:kwd:[CODE(HTML)@en[[[allow-pointer-lock]]]] [[キーワード]]が指定された時

:flag:[[sandboxed scripts browsing context flag]]
:kwd:[CODE(HTML)@en[[[allow-scripts]]]] [[キーワード]]が指定された時

:flag:[[sandboxed automatic features browsing context flag]]
:kwd:[CODE(HTML)@en[[[allow-scripts]]]] [[キーワード]]が指定された時

:flag:[[sandboxed [CODE(JS)@en[document.domain]] browsing context flag]]

:flag:[[sandbox propagates to auxiliary browsing contexts flag]]
:kwd:[CODE(HTML)@en[[[allow-popups-to-escape-sandbox]]]] [[キーワード]]が指定された時

:flag:[[sandboxed modals flag]]
:kwd:[CODE(HTML)@en[[[allow-modals]]]] [[キーワード]]が指定された時

:flag: [[sandboxed orientation lock browsing context flag]]
:kwd: [CODE(HTML)@en[allow-orientation-lock]] [[キーワード]]が指定された時

:flag: [[sandboxed presentation browsing context flag]]
:kwd: [CODE(HTML)@en[allow-presentation]] [[キーワード]]が指定された時

]FIG]

[HISTORY[
[84] かつては他に
[FIG(table)[
:flag:フラグ
:kwd:フラグを設定しない条件

:flag: [F[sandboxed seamless iframes flag]]

:flag:[[sandboxed fullscreen browsing context flag]]
:kwd:[F[allow fullscreen flag]] が指定された時

:flag: [[砂箱化利用者媒体閲覧文脈フラグ]]
:kwd: [F[allow user media flag]] が指定された時

:flag:[[sandboxed storage area URLs flag]]
]FIG]
... がありましたが、廃止されました。
]HISTORY]

[66] [[砂箱化フラグ集合]]は、次の4箇所で使われています。
[FIG(table)[
:name:名称
:context:所属
:populated:設定される場面

:name:[DFN[[RUBYB[ポップアップ砂箱化フラグ集合]@en[[[popup sandboxing flag set]]]]]]
:context:[[最上位閲覧文脈]]
:populated:[[rules for choosing a browsing context given a browsing context name]]

:name:[DFN[[[[CODE(HTMLe)@en[iframe]] sandboxing flag set]]]]
:context:
[[要素]]の[F[入れ子閲覧文脈]]
:populated:>>40, >>41, >>42

:name:[DFN[[RUBYB[[[活性砂箱化フラグ集合]]]@en[[[active sandboxing flag set]]]]]]
:context:[[文書]]
:populated:[[砂箱化を実装]] (>>67)

:name:[DFN[[[forced sandboxing flag set]]]]
:context:[[navigate]] の[[資源]] ([[応答]])
:populated:[[CSP]] の [[enforce]]
]FIG]

[76] [[文書]]の色々な処理で実際に参照されるのは、このうちの
[[active sandboxing flag set]] です。それ以外は、[[砂箱化の実装]]で
[[active sandboxing flag set]] を決定するための入力として使われます。

[116] 
[[活性砂箱化フラグ群を決定]]する[[手順群]]では、
[RUBYB[[[合同]]][union]]演算が行われます。

* 処理

[99] [CODE(HTMLa)@en[sandbox]] [[属性]]は、[[入れ子閲覧文脈]]の[[閲覧文脈の作成]]が行われる際や、
[[属性変更手順群]]が呼び出された際に、処理されます。

;; [CODE(HTMLe)@en[iframe]] 参照。

[54] [[CSP]] [CODE(HTTP)@en[[[sandbox]]]] [[指令]]は、 [[monitoring]]
の場合 ([CODE(HTTP)@en[[[Content-Securiry-Policy-Report-Only]]]]) や
[CODE(HTMLe)@en[[[meta]]]] [[要素]]の場合、無視されます [SRC[>>48]]。

[55] それ以外の場合、 [[enforce]] 時に[[指令]]の値を [[parse a sandboxing directive]]
し、結果を保護対象[[資源]]の [[forced sandboxing flag set]] としなければ[['''なりません''']]
[SRC[>>48]]。

[58] [CODE(HTTP)@en[[[frame-ancestor]]]] [[指令]]の制限対象となる場合には、
[[空文字列]]が指定された場合と同様に [[parse a sandboxing directive]]
し、結果を保護対象[[資源]]の [[forced sandboxing flag set]] としなければ[['''なりません''']]
[SRC[>>57]]。

;; [74] [[CSP]] の処理は、 [[navigate]] から間接的に呼び出されます。

-*-*-

[67] 
[[閲覧文脈]][VAR[[[閲覧文脈]]]][DEL[と[VAR[navigateする資源]]]]について[DFN[[RUBYB[[RUBY[砂][すな]][RUBY[箱][ばこ]][RUBY[化][か]]フラグ[RUBY[群][ぐん]]を[RUBY[決][けっ]][RUBY[定][てい]]][determine sandboxing flags]]]]するには、
次のようにします。
[SRC[>>31]]

[FIG(steps)[
= [114] [VAR[砂箱化フラグ集合]]を、
次の各[[砂箱化フラグ集合]]に含まれるフラグの[[合同]]に設定します。
-- [68] [VAR[閲覧文脈]]の[F[[[最上位閲覧文脈]]である]]が[[真]]の場合、
--- [96] [VAR[閲覧文脈]]の [[popup sandboxing flag set]]
-- [69] [VAR[閲覧文脈]]の[F[[[子供閲覧文脈]]である]]が[[真]]の場合、
--- [97] [VAR[閲覧文脈]]の [F[[[[CODE(HTMLe)@en[iframe]] sandboxing flag set]]]]
--- [70] [VAR[閲覧文脈]]の[F[親閲覧文脈]]の[F[活性文書]]の[F[活性砂箱化フラグ集合]]
-- [71] [DEL[[VAR[navigateする資源]]が [CODE[null]] で''ない''場合、]]
--- [115] [DEL[[VAR[navigateする資源]]の[F[forced sandboxing flag set]]]]
= [95] 
[VAR[砂箱化フラグ集合]]を返します。

]FIG]

;; [72] [[親閲覧文脈]]と[[同じ起源]]でない場合、ほんの数ビット分ですが、
[[起源]]を超えて情報が「漏れる」ことになります。

[111] 
[[新しい閲覧文脈の作成]]や
[[navigate]] から呼び出されます。

[120] 
この処理は、
[CODE[iframe]] の [CODE[sandbox]]
[[属性]]など、
適用対象となる
[CODE[sandbox]]
の指定をすべて掛け合わせた結果を取得するものです。
フラグの[[合同]]ですから、すべての制限が適用されたもっとも厳しい制約となります。


[HISTORY[
[118] 
[TIME[令和元(2019)年][2019]]の
[CITE[HTML Standard]]
改定以前は、
[DFN[[RUBYB[[RUBY[活][かっ]][RUBY[性][せい]][RUBY[砂][すな]][RUBY[箱][ばこ]][RUBY[化][か]]フラグ[RUBY[群][ぐん]]を[RUBY[決][けっ]][RUBY[定][てい]]][determine active sandboxing flags]]]]と呼ばれていました。
[SRC[>>117]]

[119] 
変更以後 [F[forced sandboxing flag set]] は
[[navigate]] の[[文書オブジェクトの作成と初期化]]で後から[[合同]]される形に変更されました。
(仕様の厳密性の向上のための改定であり、意図した挙動は変わっていません。)
]HISTORY]


[56] [[navigate]] ではなく [[run a Worker]] 時に [[enforce]] される場合は、
[CODE(HTTP)@en[[[sandbox]]]] [[指令]]が指定され [CODE(HTTP)@en[[[allow-scripts]]]] が指定されていない時や、
[CODE(HTTP)@en[[[sandbox]]]] [[指令]]が指定され [CODE(HTTP)@en[[[allow-same-origin]]]] が指定されておらず新しい実行文脈が[[同じ起源]]であることを求めている時には、
[[ネットワークエラー]]が返されたものとして扱わなければ[['''なりません''']] [SRC[>>48]]。

;; [75] [CODE(HTMLe)@en[[[script]]]] や [CODE(DOMm)@en[[[importScripts]]]]
で既存の実行文脈内で[[スクリプト]]を読み込むときには、この処理は行われません。

[HISTORY[
[113] 
[TIME[令和元(2019)年][2019]]の改訂以前は、
[VAR[[[文書]]]]の[DFN[[RUBYB[[[砂箱化の実装]]]@en[implement the sandboxing]]]]の[[手順群]]として[[規定]]されていました。
]HISTORY]


* サーバー

[39] 危険かもしれないファイルを [CODE(HTMLe)@en[[[iframe]]]] の[[文書]]と同じ[[サーバー]]から提供する[['''べきではありません''']]。
直接アクセスさせられると、 [CODE(HTMLa)@en[[[sandbox]]]] を回避してファイルが処理されてしまうからです。
被害を抑えるため、異なる[[ドメイン]]に分けて提供する[['''べきです''']]。 [SRC[>>31]]

;; [77] [[CSP]] の [CODE(HTTP)@en[[[sandbox]]]] [[指令]]により危険性を緩和できるかもしれませんが、
異なる[[ドメイン]]に置く方がより安全と思われます。

* 利用者インターフェイス

[78] [[Webブラウザー]]によっては、[[入れ子閲覧文脈]]の[[文書]]を[[最上位閲覧文脈]]で開く[[メニュー]]等の指示機能を[[利用者]]に提供しているかもしれません。
[[利用者]]は[[砂箱化]]されているものを、そうと気づかずに通常の[[閲覧文脈]]で開いてしまうかもしれず、
注意が必要です。 [[popup sandboxing flag set]] を活用するなど配慮が必要かもしれません。

* [CODE(DOMi)@en[HTMLIFrameElement]] インターフェイス [CODE(DOMa)@en[sandbox]] 属性

[43] [CODE(DOMi)@en[[[HTMLIFrameElement]]]] [[インターフェイス]]の
[DFN[[CODE(DOMa)@en[[[sandbox]]]]]] [[IDL属性]]は、
[CODE(HTMLa)@en[[[sandbox]]]] [[内容属性]]を[[反映]]しなければ[['''なりません''']]
[SRC[>>31]]。

[44] [[取得器]]は、 [CODE(DOMi)@en[[[DOMSettableTokenList]]]] として[[反映]]します
[SRC[>>31]]。

[45] [[設定器]]は、 [CODE(DOMa)@en[[[value]]]] [[IDL属性]]に 
[CODE(IDL)@en[[[PutForwards]]]] されます [SRC[>>31]]。

* 関連

[41] [[CSP]] の他の機能も更なる安全性の確保に有用かもしれません。

[42] 単一の[[文書]]の一部の内容のみを[[砂箱化]]することはできません。しかし
[CODE(HTMLe)@en[iframe]] [[要素]]の [CODE(HTMLa)@en[srcdoc]]
[[属性]]と併用すれば、そのような効果が得られます。

* 歴史

-[125] [CITE['''['''whatwg''']''' The <iframe> element and sandboxing ideas]], [TIME[2024-09-20T16:18:32.000Z]], [TIME[2024-09-28T01:22:39.913Z]] <https://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-May/057147.html>
- [126] [CITE@en['''['''acgiow''']''' (2) * Add <iframe sandbox>, which supports:]], [[Hixie]], [TIME[2008-05-21 09:30:41 +09:00]], [TIME[2024-09-28T01:23:33.000Z]] <https://github.com/whatwg/html/commit/68d989c9b4a1f06f0125d421ff3258f2405701cf>
- [127] [CITE@en['''['''''']''' (0) <iframe seamless> -- clientside inclusion of HTML documents. P…]], [[Hixie]], [TIME[2008-05-20 08:26:09 +09:00]], [TIME[2024-09-28T01:23:44.000Z]] <https://github.com/whatwg/html/commit/f6490f17f577fa3478791b29ad8c2b586418001f>

[128] [CODE[seamless]] も参照。

[1] [CITE@en[(X)HTML5 Tracking]]
([TIME[2010-01-12 22:36:56 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4576&to=4577>

[2] [CITE@en[(X)HTML5 Tracking]]
([TIME[2010-01-12 22:37:33 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4577&to=4578>

[3] [CITE@en[(X)HTML5 Tracking]]
([TIME[2010-01-12 22:39:10 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4579&to=4580>

[4] [CITE@en[HTML5 Revision Tracker]]
([TIME[2010-03-24 22:15:30 +09:00]] 版)
<http://html5.org/tools/web-apps-tracker?from=4861&to=4862>

[5] [CITE[IRC logs: freenode / #whatwg / 20100408]]
([TIME[2010-04-20 20:02:50 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20100408>

[6] [CITE['''['''whatwg''']''' Please consider dropping the "sandbox" attribute from the <iframe> element]]
([TIME[2010-08-02 22:50:46 +09:00]] 版)
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2010-August/027491.html>

[7] [CITE[IRC logs: freenode / #whatwg / 20100715]]
([TIME[2010-08-03 08:03:40 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20100715>

[8] [CITE@en[Web Applications 1.0 r5571       Better define how sets of unique space-separated tokens are handled in terms of case-sensitivity.Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=10781]]
( ([TIME[2010-10-01 08:07:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=5570&to=5571>

[9] [CITE[IRC logs: freenode / #whatwg / 20110714]]
( ([TIME[2011-07-23 20:18:18 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110714>

[10] [CITE[IRC logs: freenode / #whatwg / 20111011]]
( ([TIME[2011-10-12 00:08:40 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20111011>

[11] [CITE[''''''[''''''whatwg'''''']'''''' iframe sandbox, <object tag>]]
( ([TIME[2012-01-29 12:17:08 +09:00]] 版))
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-January/034567.html>

[12] [CITE@en[Web Applications 1.0 r7054     sandbox='allow-popups' feature]]
( ([TIME[2012-04-17 14:02:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7053&to=7054>

[13] [CITE[IRC logs: freenode / #whatwg / 20120411]]
( ([TIME[2012-04-16 21:25:26 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120411>

[14] [CITE[IRC logs: freenode / #whatwg / 20120414]]
( ([TIME[2012-04-21 20:45:41 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120414>

[15] [CITE[''''''[''''''whatwg'''''']'''''' Security Issue- Iframe Sandbox attribute - Clarity of operation]]
( ([TIME[2012-06-30 08:25:56 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-June/036530.html>

[16] [CITE[''''''[''''''whatwg'''''']'''''' iframe sandbox attribute]]
( ([TIME[2012-07-10 09:56:14 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-July/036586.html>

[17] [CITE[''''''[''''''whatwg'''''']'''''' Additional attribute value for iframe sandbox]]
( ([TIME[2012-07-11 01:27:41 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-July/036587.html>

[18] [CITE[''''''[''''''whatwg'''''']'''''' sandboxed documents and cookies]]
( ([TIME[2012-07-11 04:15:29 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-July/036589.html>

[19] [CITE@en[Web Applications 1.0 r7485     Add sandbox=allow-pointer-lock, and some nearby cleanup.]]
( ([TIME[2012-10-26 03:10:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7484&to=7485>

[20] [CITE[''''''[''''''whatwg'''''']'''''' allowfullscreen vs sandbox="allow-fullscreen"]]
( ([TIME[2012-12-05 05:25:40 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038258.html>

[21] [CITE[ChangeProposals/sandbox allow popups - HTML WG Wiki]]
( ([TIME[2013-06-13 12:01:58 +09:00]] 版))
<http://www.w3.org/html/wg/wiki/ChangeProposals/sandbox_allow_popups>


[129] [CITE@en-US[HTML5 tag proposal : sandbox | HTML5 Specifications Community Group]], [TIME[2024-11-07T13:43:44.000Z]] <https://www.w3.org/community/html5spec/2013/04/02/html5-tag-proposal-sandbox/>


[130] >>129 どうも [CODE[sandbox]] 属性の存在を知らずに [CODE[sandbox]]
要素を提案している模様。こういうレベルのものが誰かの個人ブログとかの寝言ではなく [[W3C]]
に凸られてくるから、標準化って大変だなーって思います。


[22] [CITE@en[Web Applications 1.0 r7984     Sandboxing: prevent pages from closing their top-level browsing context (unless they can navigate it, in which case, whatever)]]
( ([TIME[2013-06-18 09:24:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7983&to=7984>

[23] [CITE[''''''[''''''whatwg'''''']'''''' iframe sandbox and top navigation]]
( ([TIME[2013-07-12 00:26:45 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-July/040002.html>

[24] [CITE[''''''[''''''whatwg'''''']'''''' Making cross-origin <iframe seamless=""> (partly) usable]]
( ([TIME[2013-07-18 06:08:37 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-July/040115.html>

[25] [CITE[''''''[''''''whatwg'''''']'''''' iframes, more sandbox]]
( ([TIME[2014-05-01 17:26:14 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2014-May/254199.html>

[26] [CITE[Add a placeholder for filesystem and add the sandboxed storage area URLs... · e6fa889 · whatwg/fetch]]
( ([TIME[2014-08-06 04:06:16 +09:00]] 版))
<https://github.com/whatwg/fetch/commit/e6fa8899423652413287c0cf22cd074ffed12905>

[27] [CITE@en[Web Applications 1.0 r8706 Add a sandboxing flag for use by fetch]]
( ([TIME[2014-08-05 08:38:00 +09:00]] 版))
<http://html5.org/r/8706>

[28] [CITE@en[''''''[''''''whatwg'''''']'''''' Proposal: Two changes to iframe@sandbox]]
([[Mike West]] 著, [TIME[2015-05-11 13:11:12 +09:00]] 版)
<https://lists.w3.org/Archives/Public/public-whatwg-archive/2015May/0035.html>

[29] [CITE@en[Iframe sandbox improvments - WHATWG Wiki]]
([TIME[2015-06-23 18:03:36 +09:00]] 版)
<https://wiki.whatwg.org/wiki/Iframe_sandbox_improvments>

[30] [CITE@en[Re: ''''''[''''''whatwg'''''']'''''' Proposal: Two changes to iframe@sandbox]]
([[Mike West]] 著, [TIME[2015-06-23 18:14:17 +09:00]] 版)
<https://lists.w3.org/Archives/Public/public-whatwg-archive/2015Jun/0098.html>

[79] [CITE@en[Block modal dialogs by default in sandboxed documents · whatwg/html@bbccfc9]] ([TIME[2015-09-09 23:54:04 +09:00]] 版) <https://github.com/whatwg/html/commit/bbccfc976754def0c187ac8ce5891d2fb20dfc15>

[80] [CITE@en[Cleanup sandbox token lists · whatwg/html@36f2a65]] ([TIME[2015-09-09 23:54:11 +09:00]] 版) <https://github.com/whatwg/html/commit/36f2a65398310be4aeef3e71bb01bb290589ecb3>

[81] [CITE@en[Clarify sandbox directive. · w3c/webappsec-csp@4568e26]]
([TIME[2015-10-22 11:40:20 +09:00]] 版)
<https://github.com/w3c/webappsec-csp/commit/4568e26ca6f58f6609c8b5d30b38f9992776256c>

[82] [CITE@en[Add supported tokens to relList and sandbox · whatwg/html@f7a66ed]]
([TIME[2015-11-22 23:39:58 +09:00]] 版)
<https://github.com/whatwg/html/commit/f7a66ed52a93d3b63304f4a669e868684dc95b56>

[83] [CITE@en[No CSP report-uri|frame-ancestors|sandbox in meta · whatwg/html@3947072]]
([TIME[2016-01-30 20:56:25 +09:00]] 版)
<https://github.com/whatwg/html/commit/39470724136a366bab4e893efd889a513d61cc3e>

[85] [CITE@en[Remove <iframe seamless> · whatwg/html@1490eba]]
([TIME[2016-02-04 19:22:12 +09:00]] 版)
<https://github.com/whatwg/html/commit/1490eba4dba5ab476f0981443a86c01acae01311>

[86] [CITE@en[Adding ''''''[''''''SameObject'''''']'''''' to DOMTokenLists · whatwg/html@ec1dc4d]]
([TIME[2016-02-18 11:10:36 +09:00]] 版)
<https://github.com/whatwg/html/commit/ec1dc4d4571c61cf0c0dfe3e562898635886b412>

[87] [CITE@en[Restrict valid sandbox values to keywords in HTML · w3c/webappsec-csp@cfd12e8]]
([TIME[2016-03-11 15:35:12 +09:00]] 版)
<https://github.com/w3c/webappsec-csp/commit/cfd12e8828a431f4741942480bf501042ba7be1a>

[88] [CITE@en[We're not going to enable 'sandbox' in '<meta>'. · w3c/webappsec-csp@8ca78f0]]
([TIME[2016-04-06 16:32:07 +09:00]] 版)
<https://github.com/w3c/webappsec-csp/commit/8ca78f0ed12bbbde0a11c4d58fb936ce0a25f9d7>

[89] [CITE@en[Fold CSPDOCUMENT into CSP.]]
( ([[mikewest]]著, [TIME[2016-05-23 12:05:43 +09:00]]))
<https://github.com/w3c/webappsec-csp/commit/0cd4bf42b5e78168cd85efe798a9a5e719677b8e>

[90] [CITE@en[Add allow-orientation-lock to sandbox flags]]
( ([[mounirlamouri]]著, [TIME[2016-05-28 07:09:45 +09:00]]))
<https://github.com/whatwg/html/commit/8f0f73c1b061a8ccee57c6878d8474b43c73aaeb>

[91] [CITE@en[Add allow-presentation to sandbox flags]]
( ([[mounirlamouri]]著, [TIME[2016-05-28 07:32:46 +09:00]]))
<https://github.com/whatwg/html/commit/0678e3de01a3ef83c5f6f0c017e7464ede1d8ec1>

[FIG(quote)[
[FIGCAPTION[
[92] ( ([TIME[2016-06-14 12:02:09 +09:00]]))
<http://www.integrity.or.jp/wp-json/oembed/1.0/embed?url=http%3A%2F%2Fwww.integrity.or.jp%2F>
]FIGCAPTION]

> <iframe sandbox="allow-scripts" security="restricted" src="http://www.integrity.or.jp/embed/" width="600" height="338" title="&#8220;東京都港区の税理士法人インテグリティです&#8221; &#8212; 税理士なら港区の税理士法人インテグリティ" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"></iframe>

]FIG]


[93] [CITE@en[Use fullscreen logic for initial about:blank documents too]]
( ([[annevk]]著, [TIME[2016-06-09 21:47:29 +09:00]]))
<https://github.com/whatwg/html/commit/c2a8d605e0115c80d1ccb4b15371ecaa56a33e30>

[94] [CITE@en[Integrate allowusermedia]]
([[domenic]]著, [TIME[2016-05-07 03:46:31 +09:00]])
<https://github.com/whatwg/html/commit/688df431630fe7d9a0518e402c1f1543d0f493a0>

[101] [CITE@en[Make allowfullscreen and allowusermedia match implementations]]
([[annevk]]著, [TIME[2016-07-07 04:47:42 +09:00]])
<https://github.com/whatwg/html/commit/9f6b91cb14a0f497ee5b3e7118ee65e687eaea78>

[98] [CITE@en[Be more precise about nested and discarded browsing contexts]]
([[domenic]]著, [TIME[2016-07-20 22:58:49 +09:00]])
<https://github.com/whatwg/html/commit/39118df640ad4a3f03f164fb5ffe0a56316297be>

[46] [CITE@en[Tweak '''['''CEReactions''']''' definition and usage]]
([[domenic]]著, [TIME[2017-02-22 06:11:13 +09:00]])
<https://github.com/whatwg/html/commit/c422734d44ae9897c1700daf08bd415e0dc5f9e1>

[47] [CITE@en[Add allow-top-navigation-by-user-activation sandbox token]]
([[domenic]]著, [TIME[2017-02-24 04:51:48 +09:00]])
<https://github.com/whatwg/html/commit/8abd73ec3a56541e3f6486d3a593a8bcfd67295d>

[100] [CITE@en[Remove <applet>]]
([[zcorpan]]著, [TIME[2017-08-21 22:19:30 +09:00]])
<https://github.com/whatwg/html/commit/b9b9d60f9451c05f8e8d542e4094f987ae1a5fb8>

[102] [CITE@en[28563 – As in most cases the http-equiv meta tags are equivalent to their corresponding HTTP header, would i '''['''...''']''']]
([TIME[2017-08-29 00:23:56 +09:00]])
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=28563>

[103] [CITE@en[Define the HTTP Refresh header by annevk · Pull Request #2892 · whatwg/html]]
([TIME[2017-08-29 00:24:48 +09:00]])
<https://github.com/whatwg/html/pull/2892>

[104] [CITE@en[<meta http-equiv=Set-Cookie> should do nothing if document is cookie averse · Issue #1950 · whatwg/html]]
([TIME[2018-05-02 13:19:06 +09:00]])
<https://github.com/whatwg/html/issues/1950>

[105] [CITE@en[What is the "sandboxed storage area URLs flag"? · Issue #3862 · whatwg/html]]
([TIME[2018-08-15 13:39:30 +09:00]])
<https://github.com/whatwg/html/issues/3862>

[106] [CITE@en[Editorial: remove sandboxed storage area URLs flag]]
([[annevk]]著, [TIME[2019-02-23 01:53:39 +09:00]])
<https://github.com/whatwg/html/commit/42a1e493fea61129e4b7c8a3bd80856feb85b8c4>

[107] [CITE@en[What is the "sandboxed storage area URLs flag"? · Issue #3862 · whatwg/html]]
([TIME[2019-07-15 20:31:59 +09:00]])
<https://github.com/whatwg/html/issues/3862>

[108] [CITE@en[Remove "filesystem" URL scheme · Issue #846 · whatwg/fetch]]
([TIME[2019-07-15 20:32:37 +09:00]])
<https://github.com/whatwg/fetch/issues/846>

[109] [CITE@en[Editorial: remove sandboxed storage area URLs flag by annevk · Pull Request #4388 · whatwg/html]]
([TIME[2019-07-15 20:32:52 +09:00]])
<https://github.com/whatwg/html/pull/4388>

[110] [CITE@en[Refactor the navigation algorithm]]
([[dtapuska]], [TIME[2019-07-12 00:49:55 +09:00]], [TIME[2021-07-01T09:41:47.000Z]])
<https://github.com/whatwg/html/commit/061e782437c6cff600f18bc96c1a11489e09c3ab>

[112] [CITE@en[Refactor navigation algorithm. by dtapuska · Pull Request #4664 · whatwg/html]]
([TIME[2021-07-02T08:22:35.000Z]])
<https://github.com/whatwg/html/pull/4664>

[117] [CITE@en[Snapshot sandbox at the start of navigation]]
([[clelland]], [TIME[2019-11-26 01:42:48 +09:00]], [TIME[2022-01-14T09:47:31.000Z]])
<https://github.com/whatwg/html/commit/eb13fece2cadc45863dc61079358b72478756f8b>

[121] [CITE@en[Possible race in feature policy in multiprocess implementations · Issue #256 · w3c/webappsec-permissions-policy]]
([TIME[2022-01-14T10:33:16.000Z]])
<https://github.com/w3c/webappsec-permissions-policy/issues/256>

[122] [CITE@en[Snapshot sandbox at start of navigation. by clelland · Pull Request #5098 · whatwg/html]]
([TIME[2022-01-14T10:33:36.000Z]])
<https://github.com/whatwg/html/pull/5098>

[123] [CITE@en[Editorial: nested browsing context is a member, not a type]]
([[annevk]], [TIME[2019-11-27 02:46:03 +09:00]], [TIME[2022-01-18T09:40:05.000Z]])
<https://github.com/whatwg/html/commit/6b737bbc428facf34ec3728c0912cf9e172d0ea4>

[124] [CITE@en[Revamp the user activation model]]
([[mustaqahmed]], [TIME[2019-12-05 04:09:23 +09:00]], [TIME[2022-01-25T07:54:20.000Z]])
<https://github.com/whatwg/html/commit/8f8c1f50158736b3cf16188377a0974a20367c8b>