勉強前イメージ
s3とかcloudfrontにあるイメージ・・・?
あんましらん
調査
CORS とは?
Cross-Origin Resource Sharing の略で、オリジン間リソース共有の意味です。
ブラウザで見ているページとは違うドメインからデータの取得を許可する仕組みのことです。
ブラウザには、セキュリティ上 クロスサイトスクリプティングを防止するため
オリジンドメインのサーバとしか通信できない制約があります。
クロスサイトスクリプティングとは?
XSS と略されますが、
動的サイトに不正なスクリプトを挿入することで、サービスを利用しているエンドユーザーに攻撃行うサイバー攻撃です。
イメージとしては以下の図のような感じです。
- 攻撃者がwebサイトにスクリプトを仕掛けます。
- エンドユーザーがwebページを表示すると
- 偽サイトに飛び
- エンドユーザーは偽サイトのwebページを表示します。
- エンドユーザーはマルウェア感染済みなので
- 攻撃者に情報漏洩してしまったりします。
なので、基本的にはブラウザではオリジンドメインのサーバとしか通信ができないようになっています。
それを許可するのがCORSです。
元々Ajaxは異なるオリジンと通信ができなかったので、JSONPが使われるようになったが、
JSONPは脆弱性を作り込みやすかったので、CORSが生まれました。
元々別のサーバと通信は出来ていたが、安全じゃなかったので安全に通信できるようにした経緯があります。
勉強後イメージ
なるほどー全然知らなかった。。
ブラウザから通信するサーバはオリジンサーバだけなのねー