https://www.sc-siken.com/pdf/31_haru/pm1_1.pdf
以下のおすすめ問題の解説となります。
良書。
【CORSを利用した実装】
Cさんは、スクリプトZの実装にCORSを用いたときの一連の動作を検討し、表1にまとめた。
Cさんは、表1についてD課長に確認した。次は、その時のD課長とCさんの会話である。
D課長:今後、他のシステムでもCORSを利用することが考えられるので、コーディング規約も併せてまとめておきたい。Access-Control-Allow-Originヘッダフィールドに指定できるオリジンは一つだけなので、複数のオリジンからのアクセスを許可するような仕様であった場合に、No.4の内容では不十分である。WebAPIのプログラム内に、許可するオリジンのリストを用意しておく必要がある。プリフライトリクエスト又はメインリクエストがWebAPIに送られてきたときに、そのリクエスト中の(h:Originヘッダフィールドの値)を、(i:許可するオリジンのリスト)と突合し、(j:一致)した値があればその値をAccess-Control-Allow-Originヘッダフィールドに設定するという内容もコーディング規約に含めればよいだろう。
Cさん:分かりました。
Cさんは、CORSの利用に関するコーディング規約をまとめ、表1をこれに合うように修正し、D課長に再度確認した。修正後の内容で問題ないということだったので、Cさんは実装を行なった。
その後、 セキュリティ専門業者に脆弱性診断を依頼し、脆弱性が検出されないことを確認した上で、情報連携機能をリリースした。その後、同様に残り四つのブランドサイトからWebサイトAへの情報連携機能も実装した。
f:https://site-a.m-sha.co.jp
fにはACAOが入るので、iiiのようにRequestheaderに入れたURLが入る
https://site-a.m-sha.co.jpが入っているので答えは、https://site-a.m-sha.co.jp
g:サイトAのorigin
gに入るのは、許可されたサイトがはいるので、サイトAのoriginとなる
h:OriginHeader i:Originのリスト h:一致
複数のオリジンの処理を考えている
リクエストを出すときに贈るデータを思い出し、
OriginHeaderの値を許可するオリジンリストが一致することが答えとなる