/[pub]/suikawiki/sw4data/ids/8/485.txt
Suika

Contents of /suikawiki/sw4data/ids/8/485.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.22 - (hide annotations) (download)
Sun Feb 26 23:29:15 2012 UTC (13 years, 3 months ago) by wakaba
Branch: MAIN
Changes since 1.21: +37 -0 lines
File MIME type: text/plain
updated by (anon)

1 wakaba 1.21 * 起源
2 wakaba 1.2
3 wakaba 1.21 [24] [[Web]] の[[セキュリティー・モデル]]である[RUBYB[[[同一起源方針]]]@en[same-origin policy]]において、
4     [[URL]] の[[ドメイン]]等によって定まる[[資源]]の管理の単位を[DFN[[RUBY[起源]@en[オリジン]@en[origin]]]]といいます。
5    
6     ** 仕様書
7    
8     [REFS[
9     - [23] [CITE@en[RFC 6454 - The Web Origin Concept]] ([TIME[2011-12-12 09:13:37 +09:00]] 版) <http://tools.ietf.org/html/rfc6454>
10     ]REFS]
11    
12 wakaba 1.22 ** 識別
13    
14     [25] [[起源]]は、
15     - [[URL scheme]]、[[host]]、[[port]] の[[3項組]]
16     - 大域的に固有な識別子
17    
18     ... のいずれかによって表されます。
19    
20     ** URL の起源
21    
22     [26] ある [[URL]] の[[起源]]は次の手順により求められます [SRC[>>23 4.]]。
23     = [27] [[URL]] が[[階層的]]でない、または[[絶対URL]]でないなら、新しい大域的に固有な識別子を生成し、
24     それを返します。
25     = [28] [VAR[url-scheme]] を、 [[URL]] の [[scheme]] 部分を[[小文字]]化したものとします。
26     = [29] 実装が [VAR[url-scheme]] により表される[[プロトコル]]に対応していないなら、
27     新しい大域的に固有な識別子を生成し、それを返します。
28     = [30] [VAR[url-scheme]] が [CODE(URI)@en[[[file]]]] なら、
29     [[実装定義]]の値を返して[['''構いません''']]。
30     = [32] [VAR[url-host]] を、 [[URL]] の [[host]] 部分を[[小文字]]化したものとします。
31     -- [[小文字]]化には [[RFC 4790]] の [CODE[[[i;ascii-casemap]]]] を使います。
32     -- [[IDNA]] により [[Uラベル]]は既に[[Aラベル]]に変換されているものと仮定しています。
33     = [33] [[URL]] に [[port]] 部分がなければ、
34     == [VAR[url-port]] を、 [VAR[url-scheme]] で表される[[プロトコル]]の[[既定のポート]]とします。
35     = [34] そうでなければ、
36     == [VAR[url-port]] を、 [[URL]] の [[port]] 部分とします。
37     = [35] ([VAR[url-scheme]], [VAR[url-host]], [VAR[url-port]]) の[[3項組]]を返します。
38    
39     ;; [36] 仕様上明記されていませんが、 >>32 や >>34 で [[host]] や [[port]] を[[正準化]]する必要がありそうです。
40    
41     *** [CODE(URI)@en[file:]] URL の起源
42    
43     [31] 仕様上 [CODE(URI)@en[[[file:]]]] [[URL]] の[[起源]]は[[実装]]定義となっています。
44     古い[[利用者エージェント]]は [CODE(URI)@en[[[file:]]]] [[URL]] に対して緩い制限しかかけていませんでしたが、
45     [[セキュリティー]]上の問題から最近の[[利用者エージェント]]では細かい単位で[[起源]]を設定していたりします。
46     例えば、[[ディレクトリー]]単位でアクセスを制限したり、[[ファイル]]ごとに完全に別の[[起源]]として扱ったりしています
47     [SRC[>>23 4.]]。
48    
49 wakaba 1.21 * [CODE(HTTP)@en[Origin:]] 欄 (HTTP)
50    
51     ** 仕様書
52 wakaba 1.20
53     [REFS[
54     - [21] [CITE@en[RFC 6454 - The Web Origin Concept]] ([TIME[2011-12-12 09:13:37 +09:00]] 版) <http://tools.ietf.org/html/rfc6454>
55     ]REFS]
56    
57 wakaba 1.21 ** 歴史
58 wakaba 1.19
59 wakaba 1.20 [22] 例によって [[IETF]] で政治的なごたごたに巻き込まれて必要以上に長くかかっています。
60     [[RFC]] になるよりずっと先に [[Webブラウザー]]で実装が進みました。
61    
62 wakaba 1.2 [1]
63     [CITE[Cross-Site Request Forgery]] ([TIME[2008-07-11 00:28:05 +09:00]] 版) <http://crypto.stanford.edu/websec/csrf/>
64    
65     [2]
66     [CITE[Origin Header for CSRF Mitigation]] ([TIME[2008-11-30 15:01:02 +09:00]] 版) <http://crypto.stanford.edu/websec/specs/origin-header/>
67    
68     [3]
69 wakaba 1.3 [[HTML5]] の[[ナビゲーション]]の[[算法]]に組み込まれたみたいです。。。
70    
71 wakaba 1.4 [4] [CITE@en[(X)HTML5 Tracking]] ([TIME[2009-01-15 07:15:24 +09:00]] 版) <http://html5.org/tools/web-apps-tracker?from=2668&to=2669>
72    
73 wakaba 1.5 [5] [CITE@en[ACTION-96: Origin removal]] ([[Henri Sivonen]] 著, [TIME[2009-01-19 08:33:27 +09:00]] 版) <http://lists.w3.org/Archives/Public/public-html/2009Jan/0210.html>
74    
75 wakaba 1.19 [6] [CITE@en[draft-abarth-origin-00 - The HTTP Origin Header]] ([TIME[2009-01-22 10:33:27 +09:00]] 版) <http://tools.ietf.org/html/draft-abarth-origin-00>
76    
77     [7] [CITE@en[(X)HTML5 Tracking]]
78     ([TIME[2009-09-29 23:36:58 +09:00]] 版)
79     <http://html5.org/tools/web-apps-tracker?from=4010&to=4011>
80    
81     [8] [CITE[IRC logs: freenode / #whatwg / 20090821]]
82     ([TIME[2009-10-12 19:18:16 +09:00]] 版)
83     <http://krijnhoetmer.nl/irc-logs/whatwg/20090821#l-235>
84    
85     [9] [CITE@en[Security/Origin - MozillaWiki]]
86     ([TIME[2009-10-09 22:03:56 +09:00]] 版)
87     <https://wiki.mozilla.org/Security/Origin>
88    
89     [20] [CITE@en[The HTTP Sec-From Header]] draft-abarth-origin-01 の頃は [CODE(HTTP)@en[[[Sec-From:]]]]
90     という名前が提案されていました。
91    
92     [10] [CITE[IRC logs: freenode / #whatwg / 20090929]]
93     ([TIME[2009-12-02 08:29:55 +09:00]] 版)
94     <http://krijnhoetmer.nl/irc-logs/whatwg/20090929>
95    
96     [11] [CITE[IRC logs: freenode / #whatwg / 20091002]]
97     ([TIME[2009-12-04 00:35:25 +09:00]] 版)
98     <http://krijnhoetmer.nl/irc-logs/whatwg/20091002#l-620>
99    
100     [12] [CITE[IRC logs: freenode / #whatwg / 20091204]]
101     ([TIME[2009-12-27 16:46:13 +09:00]] 版)
102     <http://krijnhoetmer.nl/irc-logs/whatwg/20091204#l-293>
103    
104     [13] [CITE@en[Security/Origin - MozillaWiki]]
105     ([TIME[2010-10-06 06:03:55 +09:00]] 版)
106     <https://wiki.mozilla.org/Security/Origin>
107    
108     [14] [CITE[IRC logs: freenode / #whatwg / 20101109]]
109     ( ([TIME[2010-11-18 23:22:34 +09:00]] 版))
110     <http://krijnhoetmer.nl/irc-logs/whatwg/20101109#l-206>
111    
112     [15] [CITE[drafts/origin.xml at master from abarth's ietf-websec - GitHub]]
113     ( ([TIME[2011-02-13 13:01:41 +09:00]] 版))
114     <https://github.com/abarth/ietf-websec/blob/master/drafts/origin.xml>
115    
116     [16] [CITE[IRC logs: freenode / #whatwg / 20110815]]
117     ( ([TIME[2011-08-27 15:22:54 +09:00]] 版))
118     <http://krijnhoetmer.nl/irc-logs/whatwg/20110815#l-134>
119    
120     [17] [CITE[IRC logs: freenode / #whatwg / 20111022]]
121     ( ([TIME[2011-10-23 18:08:47 +09:00]] 版))
122     <http://krijnhoetmer.nl/irc-logs/whatwg/20111022>
123    
124     [18] [CITE@en[Web Applications 1.0 r6941 Drop old origin definitions that no longer matter.]]
125     ( ([TIME[2012-01-31 09:48:00 +09:00]] 版))
126     <http://html5.org/tools/web-apps-tracker?from=6940&to=6941>
127    
128     [19] [CITE[Widget Access Request Policy]]
129     ( ([TIME[2012-02-04 04:00:27 +09:00]] 版))
130 wakaba 1.18 <http://dev.w3.org/2006/waf/widgets-access/#dfn-origin>

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24