質問編集履歴
2
捕捉を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,9 +14,9 @@
|
|
14
14
|
|
15
15
|
ここまでは、説明の通りで理解できました。
|
16
16
|
|
17
|
-
次に、書籍ではCORSの説明に続き、`Access-Control-Allow-Origin`ヘッダをレスポンスに含めることで、Same-Origin Policyを緩和できるという説明がありました。
|
17
|
+
次に、書籍ではCORSの説明に続き、`Access-Control-Allow-Origin`ヘッダをレスポンスに含めることで、Same-Origin Policyを緩和できるという説明がありました。書籍の中では説明だけで、それの確認手順は載っていません。
|
18
18
|
|
19
|
-
こ
|
19
|
+
この挙動を実際に確かめるために、このリポジトリのレスポンスヘッダに`Access-Control-Allow-Origin: *`を追加して、実際にalertが2つとも実行されるのかを確認しました。
|
20
20
|
```diff
|
21
21
|
sendfile off;
|
22
22
|
etag off;
|
1
文章が分かりづらかったので微修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,7 +2,6 @@
|
|
2
2
|
書籍には[サンプルコードのリポジトリ](https://github.com/LambdaNote/support-browsersecurity)が用意されています。
|
3
3
|
|
4
4
|
2章のサンプルコードに下記のようなものがあります。
|
5
|
-
localhost:10000と、localhost:20000というcross originの関係のもとで、`http://localhost:10000/chapter02/read.html`にアクセスした場合、same originである1つ目のalertは実行されますが、cross originである2つ目のalertは実行されません。
|
6
5
|
```html
|
7
6
|
<script>
|
8
7
|
window.addEventListener("load", () => {
|
@@ -11,12 +10,13 @@
|
|
11
10
|
});
|
12
11
|
</script>
|
13
12
|
```
|
13
|
+
localhost:10000と、localhost:20000というcross originの関係のもとで、`http://localhost:10000/chapter02/read.html`にアクセスした場合、same originである1つ目のalertは実行されますが、cross originである2つ目のalertは実行されません。
|
14
14
|
|
15
15
|
ここまでは、説明の通りで理解できました。
|
16
16
|
|
17
|
-
次に、CORSの説明に続き`Access-Control-Allow-Origin`ヘッダをレスポンスに含めることで、Same-Origin Policyを緩和できるという説明がありました。
|
17
|
+
次に、書籍ではCORSの説明に続き、`Access-Control-Allow-Origin`ヘッダをレスポンスに含めることで、Same-Origin Policyを緩和できるという説明がありました。
|
18
18
|
|
19
|
-
これを実
|
19
|
+
これを実際に確かめるために、このリポジトリのレスポンスヘッダに`Access-Control-Allow-Origin: *`を追加して、実際にalertが2つとも実行されるのかを確認しました。
|
20
20
|
```diff
|
21
21
|
sendfile off;
|
22
22
|
etag off;
|
@@ -24,7 +24,8 @@
|
|
24
24
|
add_header "X-XSS-Protection" "0" always;
|
25
25
|
+ add_header Access-Control-Allow-Origin *;
|
26
26
|
```
|
27
|
-
nginxは詳しくないのですが、調べてみて上記のように追加し、`$ docker-compose build`を行った後に再起動をしてアクセスしてみました。
|
27
|
+
nginxは詳しくないのですが、調べてみて上記のように1行追加し、`$ docker-compose build`を行った後に再起動をしてアクセスしてみました。
|
28
|
+
|
28
29
|
Networkパネルを確認すると、たしかにレスポンスヘッダに指定できているようです。
|
29
30
|

|
30
31
|
|
@@ -33,6 +34,6 @@
|
|
33
34
|
read.html:4 Uncaught DOMException: Blocked a frame with origin "http://localhost:10000" from accessing a cross-origin frame.
|
34
35
|
```
|
35
36
|
|
36
|
-
これは、何故
|
37
|
+
これは、何故でしょうか?
|
37
38
|
CORSに対する私の理解が間違っているのが、単純にNginxの設定などが間違っているのかが判別できていません。
|
38
39
|
どなたかご教示お願いします。
|