回答編集履歴
3
9. IANA Considerations
answer
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
### HTTP Cookie
|
11
11
|
|
12
|
-
- [RFC 6265 — HTTP State Management Mechanism (日本語訳)](https://triple-underscore.github.io/RFC6265-ja.html#section-
|
12
|
+
- [9. IANA Considerations - RFC 6265 — HTTP State Management Mechanism (日本語訳)](https://triple-underscore.github.io/RFC6265-ja.html#section-9)
|
13
13
|
|
14
14
|
Cookie関係のHTTPヘッダは**HTTP**というプロトコルで動作するように設計されています。
|
15
15
|
従って、**Cookieはfileスキームでは使用できません**。
|
2
表現の微修正
answer
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
- [RFC 6265 — HTTP State Management Mechanism (日本語訳)](https://triple-underscore.github.io/RFC6265-ja.html#section-4)
|
13
13
|
|
14
14
|
Cookie関係のHTTPヘッダは**HTTP**というプロトコルで動作するように設計されています。
|
15
|
-
|
15
|
+
従って、**Cookieはfileスキームでは使用できません**。
|
16
16
|
使用できるブラウザが存在するのは、ブラウザが勝手にHTTPヘッダを返しているかのように処理してくれているからだと思います。
|
17
17
|
fileスキームを使用している限りは、全てのブラウザで動作する保証はありません。
|
18
18
|
|
@@ -47,7 +47,7 @@
|
|
47
47
|
- port … null
|
48
48
|
- domain … null
|
49
49
|
|
50
|
-
|
50
|
+
`file:///C:/` で始まるURLは全て同一生成元(同一サイト)と見なされる為、`file:///C:/www/sample.html` で作成された「あなたのストレージ」は `file:///C:/foo/evil.html` によって悪意あるユーザによる「あなたのストレージ」への参照を許してしまいます。
|
51
51
|
それはセキュリティ上の脆弱性となる為、Firefoxでは file スキームにおいて、独自の同一オリジンポリシーを設定しているようです。
|
52
52
|
|
53
53
|
- [file: URI の同一オリジンポリシー | MDN](https://developer.mozilla.org/ja/docs/Same-origin_policy_for_file:_URIs)
|
1
typo修正
answer
CHANGED
@@ -59,8 +59,8 @@
|
|
59
59
|
この規定によって、Firefox では `file:///C:/foo/evil.html` から `file:///C:/www/sample.html` で設定したWeb Strageに参照する事が不可能となりました。
|
60
60
|
ただし、この規定はFirefoxだけの例外規定であり、全てのブラウザでそうなる保証はありません。
|
61
61
|
|
62
|
-
仕様を全て読んだわけではありませんが、ざっくり検索してみた限りでは file スキームに関する規定が少なく、生成元の範囲
|
62
|
+
仕様を全て読んだわけではありませんが、ざっくり検索してみた限りでは file スキームに関する規定が少なく、fileスキームにおける生成元の範囲が不明瞭なように読めました。
|
63
|
-
実装依存である事を意識して、「制作者が確認した実装以外での動作を保証できない」等の一文を付け加えるべきだ
|
63
|
+
実装依存である事を意識して、「制作者が確認した実装以外での動作を保証できない」等の一文を付け加えるべきだと思います。
|
64
64
|
|
65
65
|
個人的には動作の保証が出来ないので、積極的にfileスキームでWeb Strageを使いたくはありません。
|
66
66
|
私なら、ユーザデータはCSV化して [名前を付けて保存] で保存してもらい、HTML閲覧時に [参照] ボタンからCSVファイルを選択し、File APIで設定値を読み込むなど、安全が保証された実装にします。
|