質問編集履歴

2

捕捉を追加

2022/02/09 17:47

投稿

hpgioaehao
hpgioaehao

スコア1

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
- を実際に確かめるために、このリポジトリのレスポンスヘッダに`Access-Control-Allow-Origin: *`を追加して、実際にalertが2つとも実行されるのかを確認しました。
19
+ の挙動を実際に確かめるために、このリポジトリのレスポンスヘッダに`Access-Control-Allow-Origin: *`を追加して、実際にalertが2つとも実行されるのかを確認しました。
20
20
  ```diff
21
21
  sendfile off;
22
22
  etag off;

1

文章が分かりづらかったので微修正

2022/02/09 16:43

投稿

hpgioaehao
hpgioaehao

スコア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
- これを実践するために、このリポジトリのレスポンスヘッダに`Access-Control-Allow-Origin: *`を追加して、実際にalertが2つとも実行されるのかを確認しようと思いました。
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
  ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-02-10/96520ac5-62a9-409b-9ac7-4bbb1e3c1340.png)
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
  どなたかご教示お願いします。