CORS
Cross-Origin Resource Sharing
オリジン間リソース共有
通常はセキュリティ上の問題から、そのHTMLソースを読んだサイト以外のデータを読むことはできないようになっている。
読み込んだデータの描画の禁止
影響を受ける機能
データそのものの読み込みの禁止
XMLHttpRequest
Fetch API
読み込んだデータの描画の禁止、描画データの取得の禁止
Webフォント
WebGL
canvas への描画
CSS
影響を受けない機能
script の src
image の src
オリジンかどうかの判定方法
以下の3つが等しいかどうかで同一性が判定される。
protocol(scheme)
host(文字列で判定される。同一IPアドレスかどうかではない)
port (IEでは無視される)
単純な文字列比較では判定できない。
CORS (Access-Control-Allow-Origin ヘッダ)は HTTP ヘッダでしか指定できない。meta タグを使ってもダメ。
つまり、HTTP ヘッダを指定できないサーバー(レンタルサーバーなど)ではどうしようもない。
どうやって、ほかのサイトを認可するか?
参考