/[pub]/suikawiki/sw4data/ids/2/569.txt
Suika

Contents of /suikawiki/sw4data/ids/2/569.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.54 - (show annotations) (download)
Sun Apr 13 15:38:01 2014 UTC (10 years, 7 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
Changes since 1.53: +2 -1 lines
File MIME type: text/plain
updated by (anon)

1 [4]
2 [DFN[[RUBY[同一起源ポリシー]@en[same origin policy]]]]は、
3 [[Web]] において、[[スクリプト]]が異なる[[起源]] [WEAK[([[URL scheme]]、[[ホスト]]、[[ポート]]の組など)]]
4 に由来する[[物体]]に対してアクセスすることを制限する[[セキュリティー]]に関する大原則です。
5
6 ;; [55] たまに [DFN[[[SOP]]]] と略されることがあります。
7
8 * 仕様書
9
10 [REFS[
11 - [5] '''[CITE@en[RFC 6454 - The Web Origin Concept]] ([TIME[2011-12-12 09:13:37 +09:00]] 版) <http://tools.ietf.org/html/rfc6454>'''
12 - [3]
13 [CITE@en-US-x-hixie[HTML 5]] ([TIME[2008-07-04 05:49:35 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#origin>
14 ]REFS]
15
16 * 同一起源ポリシーの原理
17
18 [56] [[Webアプリケーション]]は、[[鯖]]が提供した[[スクリプト]]等を [[Webブラウザー]]上の環境において実行、
19 評価するものですが、適切な[[セキュリティー・モデル]]が無ければ[[利用者]]やその他の人が意図しない有害な動作がなされてしまうかもしれません。
20 [[同一起源方針]]は [[Webブラウザー]]上で動作する[[Webアプリケーション]]のための[[セキュリティー・モデル]]として発展、収束してきたものです。
21 [[RFC 6454]] で [[Adam Barth]] は次の基本原理をまとめています。
22
23 - Trust
24 - Origin
25 - Authority
26 - Policy
27
28 ** Trust
29
30 [57] [[同一起源方針]]においては [[URL]] によって [[trust]] を指定していると言えます。
31
32 [EG[
33 [58] 例えば [CODE(HTMLe)@en[[[script]]]] [[要素]]によって [[URL]]
34 を指定して外部の[[スクリプト]]を読み込むことは、
35 自身の持つ[[特権]]を当該 [[URL]] に対して付与していることになります。
36 つまり当該 [[URL]] から得られる情報の[[一貫性]]を信頼 (trust) すると宣言していると言えます。
37 ]EG]
38
39 [EG[
40 [59] また [CODE(HTMLe)@en[[[form]]]] [[要素]]によって [[POST]] 先の [[URL]]
41 を指定することは、秘密のデータを当該 [[URL]] に対して開示することになります。
42 つまり当該 [[URL]] に送られるデータの秘匿性を信頼 (trust) すると宣言していると言えます。
43 ]EG]
44
45 ** Origin
46
47 [60] あらゆる [[URL]] にそれぞれ個別の保護された領域を与えることもできますが、
48 それでは実用上不便なので、[[同一起源方針]]にあっては[[ドメイン]]などが共通する [[URL]] 群を
49 [[起源]] (origin) と呼び、これを保護の単位とします。
50
51 [EG[
52 [61] 例えば [CODE(URI)@en[http://example.com/]] と [CODE(URI)@en[http://example.com/~mypage/]]
53 は [CODE(URI)[http://example.com]] という共通の[[起源]]を持ちます。しかし
54 [CODE(URI)[http://www.example.com/]] や [CODE(URI)@en[http://example.com:8080/]]
55 の[[起源]]はそれぞれ
56 [CODE(URI)[http://www.example.com]] や [CODE(URI)@en[http://example.com:8080]]
57 であり、異なります。
58 ]EG]
59
60 ** Authority
61
62 [62] [[起源]]が同じであっても、[[資源]]はそれぞれの権限 (authority) を持っています。
63 どれだけの権限を与えるかは [[MIME型]]により決まります。
64
65 [EG[
66 [63] 例えば [CODE(MIME)@en[[[image/png]]]] の[[資源]]は[[画像]]であり、 [[API]]
67 その他へのアクセス権を有しません。一方 [CODE(MIME)@en[[[text/html]]]] の[[資源]]は
68 [[HTML文書]]であり、[[スクリプト]]の実行その他の様々な権限を有します。
69 ]EG]
70
71 ** Policy
72
73 [64] [[同一起源方針]]においては[[起源]]はそれぞれ別に管理されており、他の[[起源]]との通信は制限されています。
74 他の[[起源]]の[[API]]アクセスは原則として禁止されていますし、他の[[起源]]の[[資源]]を読み取ることもできません。
75 他の[[起源]]に情報を送ることは認められていますが、一部の決められた形式に制限されています。
76
77 [EG[
78 [65] 例えば [[DOM]] の [[API]] によって他の[[起源]]の[[文書]]にアクセスすることはできません。
79 [CODE(DOM)@en[[[postMessage]]]] など例外はありますが、それ以外は [[Webブラウザー]]により厳密に管理されています。
80 ]EG]
81
82 [EG[
83 [66] [[XHR]] によって他の[[起源]]の[[資源]]を読み取ることは、 [[CORS]] により例外的に認められていない限り、
84 禁止されています。
85 ]EG]
86
87 * 適用対象
88
89 [9]
90 いくつかの挙動はそれが同じ[[起源]]に対して行われた操作に由来するか否かによって変化します。
91 一般に他の[[起源]]の状態や処理結果は取得できません。
92
93 @@ このリストは不完全です。
94
95 [FIG[
96 -[20] [CODE(DOMa)@en[[[window]]]] や [CODE(DOMa)@en[[[location]]]]
97 の[[メンバー]] (一部例外を除きます。) に対する[[スクリプト]]からのアクセス
98 [SRC@en[[[HTML 5]]]]
99 --[26] ただし、[[Webブラウザ]]によっては、 [[HTML 5]] で例外とされている[[メンバー]]以外にも異なる[[起源]]の[[スクリプト]]からアクセスできてしまいます。
100 (例えば [[Gecko]] では [CODE(DOMa)@en[[[name]]]] や [CODE(DOMa)@en[[[status]]]] にアクセスできます。
101 [CODE(DOMa)@en[[[name]]]] の項を参照。)
102 -- [84] [CODE(DOMi)@en[[[Window]]]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#security-2>
103 -- [86] [CODE(DOMi)@en[[[Location]]]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#security-3>
104 -- [82] [CODE(DOMa)@en[[[frameElement]]]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-frameelement>
105 -- [127] [CODE(DOMa)@en[[[contentDocument]]]]:
106 [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-11-12 21:53:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-iframe-contentdocument>
107 [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-11-12 21:53:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-object-contentdocument>
108 [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-11-12 21:53:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-frame-contentdocument>
109 -- [128] [CODE(DOMm)@en[[[getSVGDocument]]]]
110 -- [83] [[navigation]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#allowed-to-navigate>
111 -[23] [[CSSOM]] へのアクセス [SRC[仕様なし]]
112 - [33] 外部資源へのアクセス
113 --[21] [CODE(DOMi)@en[[[XMLHttpRequest]]]] による[[外部資源]]へのアクセス
114 [SRC@en[[[XMLHttpRequest]], [[XMLHttpRequest]] 2]]
115 --[22] [[WebSocket]] による接続 [SRC@en[[[HTML 5]]]]
116 --[31] [CODE(DOMi)@en[[[Document]]]] [[オブジェクト]]の
117 [CODE(DOMm)@en[[[load]]]] で読み込める [[URL]]
118 [DEL[([[MSXML]]、[[Gecko]] など; [[DOM3LS]] [[CR]] にあったが同一起源方針に関する仕様はなし)]] [SRC[>>71]]
119 --- [71] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-xmldocument-load>
120 -- [34] [[XSLT]] [CODE(XPathf)@en[[[document()]]]] [[関数]]による別[[起源]]の[[資源]]へのアクセス [SRC[仕様なし]]
121 -[37] [CODE(DOMa)@en[[[mozIsLocallyAvailable]]]]
122 - [43] [[SOAP]]
123 -- <https://developer.mozilla.org/ja/SOAP_in_Gecko-based_Browsers>
124 - [73] [CODE(DOM)@en[[[onerror]]]]
125 -- [[エラーミュートフラグ]]
126 -- [95] [CODE(DOMi)@en[[[[Window]]]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#runtime-script-errors>
127 -- [96] [CODE(HTMLe)@en[[[iframe]]]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#the-iframe-element>
128 -- [[navigation]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#navigating-across-documents>
129 - [74] [CODE(HTMLa)@en[[[seamless]]]]
130 -- [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-seamless>
131 - [77] [CODE(HTMLe)@en[[[canvas]]]] の[[起源汚染]]
132 -- [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#security-with-canvas-elements>
133 - [75] [[Web Fonts]] の利用
134 -- [76] [CODE(DOMm)@en[[[measureText]]]] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-measuretext>
135 - [78] [CODE(HTMLa)@en[[[autofocus]]]] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#attr-fe-autofocus>
136 - [80] [CODE(HTMLa)@en[[[ping]]]] [[要求]] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#hyperlink-auditing>
137 - [81] [[奇癖モード]]における [[[CODE(MIME)@en[Content-Type]]メタデータ]]の扱い [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#link-type-stylesheet>
138 - [85] [CODE(DOMm)@en[[[replaceState]]]]
139 -- [91] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-history-replacestate>
140 -- [92] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#history-traversal>
141 - [87] [[AppCache]]
142 -- [88] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#navigating-across-documents>
143 -- [93] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#concept-appcache-matches-fallback>
144 -- [94] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#changesToNetworkingModel>
145 - [89] [[HTTP]] [[redirect]]
146 -- [90] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#navigating-across-documents>
147 - [97] [CODE(URI)@en[[[javascript:]]]] [[URL]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#javascript-protocol>
148 - [98] [[dialog]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-showmodaldialog>
149 - [99] [CODE(DOMm)@en[[[registerProtocolHandler]]]], [CODE(DOMm)@en[[[registerContentHandler]]]]:
150 [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers>
151 - [100] [CODE(DOMm)@en[[[IsSearchProviderInstalled]]]]:
152 [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-external-issearchproviderinstalled>
153 - [101] [[Web Workers]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#processing-model-4>
154 - [106] [CODE(DOMa)@en[[[sessionStorage]]]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#the-sessionstorage-attribute>
155 - [107] [CODE(DOMa)@en[[[localStorage]]]]: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#the-localstorage-attribute>
156 - [108] [CODE(DOMe)@en[[[unload]]]] 中の [[navigation]]
157 -- [[Gecko]] と [[Opera]] では [[same-origin policy]] の対象になります。
158 [[WebKit]] ではまったく認められていません。
159 - [109] [CODE(DOMi)@en[[[PerformanceTiming]]]] から値を取得できるか否か
160 -- [CITE@en[Navigation Timing]] ([TIME[2012-12-13 06:51:35 +09:00]] 版) <http://www.w3.org/TR/2012/REC-navigation-timing-20121217/#sec-navigation-timing-interface>
161 - [114] [CODE(DOMe)@en[[[error]]]] [[イベント]]が[[発火]]するかどうか [SRC[[[HTML]]]]
162 ]FIG]
163
164 [129] [CODE(DOMi)@en[[[Widget]]]] の [CODE(DOMa)@en[[[preferences]]]] にも[[同一起源ポリシー]]が適用されます。
165
166 * 起源の値によって動作が変わるもの
167
168 [115] [[起源]]が[[三項組]]であるか固有識別子であるか、あるいはその[[三項組]]がどのような値であるかによって、
169 挙動が変わることがあります。
170
171 [FIG[
172 - [68] [[fetch]] において [CODE(HTTP)@en[[[Referer:]]]] を送出する条件
173 -- [[起源]]が[[3項組]]で''なければ''、 [CODE(HTTP)@en[[[Referer:]]]] を送っては[['''なりません''']] [SRC[>>67]]。
174 -- [67] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#fetch>
175 - [70] [CODE(JS)@en[[[document.cookie]]]] を使える条件
176 -- [[起源]]が[[3項組]]で''なければ''、 [CODE(JS)@en[[[document.cookie]]]] には読み書きできません [SRC[>>69]]。
177 -- [69] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-document-cookie>
178 - [79] [[ダウンロード]]時の[[ファイル名]] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#downloading-hyperlinks>
179 - [104] [CODE(DOMi)@en[[[WebSocket]]]]
180 -- [105] [[https:]] から [[ws:]] にはアクセスできない: [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2012-02-22 20:11:59 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#dom-websocket>
181 - [116] [[encoding sniffing algorithm]] において[[親閲覧文脈]]を参照するか否か
182 -- [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-04-30 04:07:36 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#encoding-sniffing-algorithm>
183 ]FIG]
184
185 * 適用対象外
186
187 [10]
188 歴史的な理由により、次の場合には同一起源方針は適用されません。
189 - [CODE(HTMLa)@en[[[src]]]] [[属性]]、
190 [CODE(HTMLe)@en[[[object]]]] [[要素]]、
191 [CODE(HTMLe)@en[[[embed]]]] [[要素]]、
192 [CODE(HTMLe)@en[[[link]]]] [[要素]]などによる外部[[資源]]の埋め込み
193 -- [CODE(HTMLe)@en[[[img]]]] [[要素]]や [CODE(HTMLe)@en[[[iframe]]]]
194 [[要素]]など
195 -- [CODE(HTMLe)@en[[[script]]]] [[要素]]による外部[[スクリプト]]の参照も含みます。
196 これがそもそも設計上の意図的なものなのか、設計ミスなのかはわかりませんが、
197 [[JSONP]] などで同一起源方針を擦り抜けるテクニックとしてよく利用されています。
198 -- これらの[[要素]]や[[属性]]を使うと、本来[[スクリプト]]から取得できないべきである、
199 異なる[[起源]]の情報を取得することができてしまいます。前述のスクリプト実行だけでなく、
200 例えば、[[画像]]の大きさを取得することで、その内容を推測できてしまうかもしれません。
201 -- 外部[[スタイル・シート]]については、非同一起源でも読み込まれて文書に適用されますが、
202 [[スクリプト]]による [[CSSOM]] の参照に関しては同一起源方針の適用対象になります
203 (ただし各[[ブラウザ]]とも動作が怪しい)。
204 -- 外部 [[CSS]] [[スタイル・シート]]中の
205 [CODE(CSS)@en[[[expression]]()]]
206 - [[画像]]系 [[CSS]] [[特性]]による外部[[画像]]の埋め込み
207 - [CODE(CSS)@en[[[-moz-binding]]]] [[特性]]による外部 [[XBL 1.0]]
208 [[文書]]の読み込み
209 - [CODE(CSS)@en[@[[import]]]] による外部 [[CSS]] [[スタイル・シート]]の[[輸入]]
210 - [[Webフォント]]
211 -- 一部ブラウザ実装。今後の動向次第で変更される可能性あり。
212 -[18] [[Cookie]]
213 -- [CODE(HTTP)@en[[[Set-Cookie]]:]] [[頭欄]]内で発行対象の[[ドメイン]]を指定できます。
214 -- [CODE(JS)@en[[[document.cookie]]]] を使っても書き込みできます。
215 -[25] [CODE(DOMm)@en[[[postMessage]]]] [[メソッド]]を使うと、
216 異なる[[起源]]の [[Web頁]]に対して文字列を伝達できます。
217 -[32] [CODE(HTMLa)@en[[[marginwidth]]]] など[[フレーム]]内の[[余白]]を設定する[[属性]]を使うと、
218 [[フレーム集合文書]]とは異なる[[起源]]の[[フレーム]]内[[文書]]の[[余白]]を設定できます。
219 -- [[フレーム]]は [[CSS]] によるレンダリング・モデル以前に実装された歴史的経緯によります。
220 - [38] [CODE(JS)@en[[[window.name]]]]
221 - [39] [CODE(HTMLa)@en[[[marginheight]]]], [CODE(HTMLa)@en[[[marginwidth]]]]
222 - [102] [CODE(DOMi)@en[[[EventSource]]]]
223 - [103] [CODE(DOMi)@en[[[WebSocket]]]]
224
225 * 要調査
226
227 @@
228 - [16] [[XSLT]] [[スタイル・シート]]
229 - [111] [CODE(XMLe)@en[[[xml]]]] [[要素]]
230 - [112] [[IE]] [CODE(HTMLa)@en[[[data*]]]]
231 - [113] [[HTC]] / [[XBL]]
232
233 * [11] 制約の緩和
234
235 - [15] [CODE(JS)@en[[[document]].[[domain]]]] [[DOM属性]]に値を設定することにより、
236 [[起源]]となる[[ドメイン名]]を変更することができます。
237 --ただし、新しい[[ドメイン名]]は元の[[ドメイン名]]の上位階層に当たるものでなければなりません。
238 - [12] [[CORS]] により、''外部[[資源]]は''、異なる[[起源]]からのアクセスを許可することができます。
239 -- [13] [[Microsoft]] が提案し、 [[WinIE 8]] で実装している
240 [CODE(DOMi)@en[[[XDomainRequest]]]] を用いると、
241 異なる[[ドメイン]]の[[資源]]にアクセスできます。
242 - [14] [[WinIE]] で実装されている[[セキュリティ・ゾーン]]の機能により、
243 [[イントラネット]]等[[ゾーン]]毎に、
244 [[同一起源方針]]を[[利用者]]の設定により緩和することができます。
245 -[17]
246 [[Adobe]] [[Air]] は異なる[[起源]]に対する [CODE(DOMi)@en[[[XMLHttpRequest]]]]
247 でのアクセスを可能にする [CODE(HTMLa)@en[[[allowcrossdomainxhr]]]]
248 [[属性]]を実装しています。
249 -[19] [CODE(DOMa)@en[[[globalStorage]]]]
250 --かつて [[HTML 5]] に含まれていました。
251 --現在は削除され、代わりに [CODE(DOMa)@en[[[localStorage]]]] が定義されていますが、
252 こちらは[[同一起源方針]]に完全に従っています。
253 -- [[Firefox]] 3 が実装しています。
254 -- [CODE(JS)@en[[[document]].[[domain]]]] [[DOM属性]]の設定と同じようなアクセス制約があります。
255 - [44] [[Gecko]] は特権を取得することで一部制限を回避できるらしい
256 -- <https://developer.mozilla.org/ja/SOAP_in_Gecko-based_Browsers>
257
258
259 * 媒体
260
261 [30] [CITE[Re: Same-origin checking for media elements]] ([[Ian Hickson <ian@...>]] 著, [TIME[2008-11-17 01:37:36 +09:00]] 版) <http://permalink.gmane.org/gmane.org.w3c.whatwg.discuss/16571>
262
263 * 労働者
264
265 @@ ・・・
266
267 * 局所ファイル
268
269 [27] [[HTML5]] は[[局所ファイル]]に関しては[[相互運用性]]に関係しないため適用範囲外として規定していません。
270
271 [28] [CITE@ja[Chromeセキュリティモデル、IE/Firefox/Safari/Operaのいいとこ取り | エンタープライズ | マイコミジャーナル]] ([[Mainichi Communications Inc.]] 著, [TIME[2008-12-09 08:24:36 +09:00]] 版) <http://journal.mycom.co.jp/news/2008/12/08/031/>
272
273 [29] [CITE[Chromium Blog: Security in Depth: Local Web Pages]] ([TIME[2008-12-13 15:47:53 +09:00]] 版) <http://blog.chromium.org/2008/12/security-in-depth-local-web-pages.html>
274
275
276 * 歴史
277
278 [6] 同一起源方針は、 [[Netscape Navigator]] 2.0 で [[JavaScript]]
279 と共に導入され [SRC[>>1、>>2]]、2.01 および 2.02 で不具合の修正がなされました
280 [SRC[>>1]]。
281
282 [7] [[Internet Explorer]] をはじめとする他ブラウザも同様にこの制限を実装しましたが、
283 [[ECMAScript]] 仕様や [[DOM]] 仕様としての標準化の対象外とされ、
284 長らく明文化された規定が存在していませんでした。
285
286 [8] [[HTML DOM]] に関係する部分はようやく2005年頃に [[WHATWG]]
287 によって [[HTML 5]] 仕様の一部として仕様の明文化が行われ始めました。
288 また、 [[XMLHttpRequest]] に関しては [[HTML 5]] 仕様を参照する形で規定されています。
289
290 [126] [CODE(DOMi)@en[[[Document]]]] は、当初は[[オブジェクト]]そのものは取得できるものの、
291 そのメンバーは一切読み書きできないとなっていましたが、 [CODE(DOMa)@en[[[contentDocument]]]]
292 などが異なる[[起源]]の場合 [[null]] を返すよう変更され、異なる[[起源]]の [CODE(DOMi)@en[[[Document]]]]
293 [[オブジェクト]]にアクセスすること自体ができなくなりました。
294
295 [REFS[
296 - [124] [CITE@en[Web Applications 1.0 r8272 Change iframe, frame, and object.contentDocument to return null when cross-origin documents are involved.]] ([TIME[2013-11-13 06:50:00 +09:00]] 版) <http://html5.org/tools/web-apps-tracker?from=8271&to=8272>
297 - [125] [CITE@en[Web Applications 1.0 r8273 Remove security checks on Document since there should now be no way to get to a Document from another origin.]] ([TIME[2013-11-13 06:53:00 +09:00]] 版) <http://html5.org/tools/web-apps-tracker?from=8272&to=8273>
298 ]REFS]
299
300
301 * メモ
302
303 [2]
304 [CITE[JavaScript Security: Same Origin]] ([CODE[2008-06-18 04:13:16 +09:00]] 版) <http://www.mozilla.org/projects/security/components/same-origin.html>
305
306 [1]
307 [CITE@en[Same origin policy - Wikipedia, the free encyclopedia]] ([CODE[2008-07-02 01:06:45 +09:00]] 版) <http://en.wikipedia.org/wiki/Same_origin_policy>
308
309 [35] [CITE@en-us[Same origin policy for JavaScript - MDC]] ([TIME[2009-02-17 13:34:30 +09:00]] 版) <https://developer.mozilla.org/En/Same_origin_policy_for_JavaScript>
310
311 [36] [CITE[The Multi-Principal OS Construction of the Gazelle Web Browser - Microsoft Research]] ([TIME[2009-03-07 00:35:15 +09:00]] 版) <http://research.microsoft.com/apps/pubs/default.aspx?id=79655>
312
313 [[Webブラウザー]]の[[プロセス]]を[[起源]]毎に分離することによって[[保安性]]の向上を図る[[論文]]だそうです。
314
315 [40] [CITE@en[(X)HTML5 Tracking]]
316 ([TIME[2009-09-30 00:11:40 +09:00]] 版)
317 <http://html5.org/tools/web-apps-tracker?from=4041&to=4042>
318
319 [41] [CITE[IRC logs: freenode / #whatwg / 20100223]]
320 ([TIME[2010-02-25 09:03:01 +09:00]] 版)
321 <http://krijnhoetmer.nl/irc-logs/whatwg/20100223>
322
323 [42] [CITE['''['''whatwg''']''' Canvas 2D Context Proposal: resetOriginClean]]
324 ([TIME[2010-04-25 01:54:34 +09:00]] 版)
325 <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2010-April/026006.html>
326
327 [45] [CITE@en[Guidelines for Web Content Transformation Proxies 1.0]]
328 ( ([TIME[2010-10-22 17:20:31 +09:00]] 版))
329 <http://www.w3.org/TR/2010/NOTE-ct-guidelines-20101026/#term-same-origin>
330
331 [46] [CITE@en[Web Applications 1.0 r5873 Make sure cross-origin fonts can't leak data via <canvas>.]]
332 ( ([TIME[2011-02-11 10:48:00 +09:00]] 版))
333 <http://html5.org/tools/web-apps-tracker?from=5872&to=5873>
334
335 [47] [CITE[Embedder's Guide - V8 JavaScript Engine - Google Code]]
336 ( ([TIME[2010-11-13 19:00:12 +09:00]] 版))
337 <http://code.google.com/intl/ja/apis/v8/embed.html>
338
339 [48] [CITE@en[draft-abarth-principles-of-origin-00 - Principles of the Same-Origin Policy]]
340 ([TIME[2011-02-22 08:21:31 +09:00]] 版)
341 <http://tools.ietf.org/html/draft-abarth-principles-of-origin-00>
342
343 [49] [CITE@en[Thoughts on font linking and embedding]]
344 ( ([[Maciej Stachowiak]] 著, [TIME[2011-02-17 04:28:23 +09:00]] 版))
345 <http://lists.w3.org/Archives/Public/public-webfonts-wg/2011Feb/0066.html>
346
347 [50] [CITE@en[Thoughts on font linking and embedding]]
348 ( ([[Maciej Stachowiak]] 著, [TIME[2011-02-17 04:28:23 +09:00]] 版))
349 <http://lists.w3.org/Archives/Public/public-webfonts-wg/2011Feb/0066.html>
350
351 [51] [CITE['''['''whatwg''']''' Canvas and drawWindow]]
352 ([TIME[2011-03-15 13:03:35 +09:00]] 版)
353 <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-March/030862.html>
354
355 [52] [CITE[IRC logs: freenode / #whatwg / 20110202]]
356 ( ([TIME[2011-03-19 11:10:11 +09:00]] 版))
357 <http://krijnhoetmer.nl/irc-logs/whatwg/20110202>
358
359 [53] [CITE[IRC logs: freenode / #whatwg / 20110214]]
360 ( ([TIME[2011-03-23 00:25:04 +09:00]] 版))
361 <http://krijnhoetmer.nl/irc-logs/whatwg/20110214>
362
363 [54] [CITE[クロスドメイン通信方法のまとめ - nopnopの日記]]
364 ( ([TIME[2011-04-24 11:59:01 +09:00]] 版))
365 <http://d.hatena.ne.jp/nopnop/20080408/1207669947>
366
367 [110] [CITE[''''''[''''''whatwg'''''']'''''' Need to define same-origin policy for WebIDL operations/getters/setters]]
368 ( ([TIME[2013-01-08 08:41:09 +09:00]] 版))
369 <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-January/038529.html>
370
371 [117] [CITE@en[Web Applications 1.0 r7975 Make showModalDialog()'s dialogArguments and returnValue only be useful same-origin, to avoid origins attacking each other]]
372 ( ([TIME[2013-06-15 03:12:00 +09:00]] 版))
373 <http://html5.org/tools/web-apps-tracker?from=7974&to=7975>
374
375 [118] [CITE@en[Web Applications 1.0 r7975 Make showModalDialog()'s dialogArguments and returnValue only be useful same-origin, to avoid origins attacking each other]]
376 ( ([TIME[2013-06-15 03:12:00 +09:00]] 版))
377 <http://html5.org/tools/web-apps-tracker?from=7974&to=7975>
378
379 [119] [CITE[''''''[''''''whatwg'''''']'''''' Adding crossorigin="" to more elements]]
380 ( ([TIME[2013-06-17 19:04:22 +09:00]] 版))
381 <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-June/039752.html>
382
383 [120] [CITE@en[Web Applications 1.0 r7997 Block enumeration of cross-origin objects, and clean up the language around those objects to be more consistent so that differences can more easily be seen.]]
384 ( ([TIME[2013-06-25 05:28:00 +09:00]] 版))
385 <http://html5.org/tools/web-apps-tracker?from=7996&to=7997>
386
387 [121] [CITE@en[Web Applications 1.0 r8090 Remove the weird stuff around document.domain and localStorage. It doesn't really do anything anyway.]]
388 ( ([TIME[2013-07-26 09:13:00 +09:00]] 版))
389 <http://html5.org/tools/web-apps-tracker?from=8089&to=8090>
390
391 [122] [CITE@en[Web Applications 1.0 r8196 Add warning notes to the Security sections of Location and Window since they are in flux with no end in sight.]]
392 ( ([TIME[2013-09-24 06:42:00 +09:00]] 版))
393 <http://html5.org/tools/web-apps-tracker?from=8195&to=8196>
394
395 [123] [CITE[IRC logs: freenode / #whatwg / 20130925]]
396 ( ([TIME[2013-09-26 20:51:11 +09:00]] 版))
397 <http://krijnhoetmer.nl/irc-logs/whatwg/20130925>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24