100% ブラウザ内完結計算 • サーバーログ完全ゼロ • 即時実行
Curious Techie開発者ツールボックス
Web SecurityRFC 6454 / W3C Living StandardVerified Terminology

同一オリジンポリシー(Same-Origin Policy: SOP)

直接の回答

あるオリジンから読み込まれたスクリプトが、異なるオリジンのDOMを操作したりレスポンスを読み取ったりすることを制限する、Webブラウザの根幹となるセキュリティ基盤。

Entity Relationships (GEO Conceptual Hierarchy)

Taxonomy Model
Relational Knowledge Graph Sequence
同一オリジンポリシー (SOP)→
ブラウザセキュリティアーキテクチャ→
スキーム・ホスト・ポートの3要素→
DOMとレスポンスの分離保護→
クロスオリジン境界→
CORSによる緩和制御
同一オリジンポリシー (SOP)
•>ブラウザセキュリティアーキテクチャ
•>スキーム・ホスト・ポートの3要素
•>DOMとレスポンスの分離保護
•>クロスオリジン境界
•>CORSによる緩和制御

Technical Explanation & Operational Mechanics

SOP(Same-Origin Policy)は、ブラウザ内で動作するWebアプリケーション間に厳格な境界線を設定します。プロトコル(スキーム)、ホスト名、ポート番号の3つが完全に一致する場合のみ「同一オリジン」と判定されます。これにより悪意ある第三者サイトがユーザーの認証済みセッションを盗用してAPIレスポンスやDOMを読み出す攻撃を防ぎます。外部への書き込み(フォーム送信等)は許可されますが、レスポンスの閲覧はCORSによって明示的に許可されない限りブロックされます。

Technical Example & Practical Implementation

オリジン判定と分離マトリクス

基準オリジン http://example.com:80 に対する各URLの判定結果

Base Origin: http://example.com:80

Comparison URL                              Outcome   Reason
-------------------------------------------------------------------------------------
http://example.com/app/data.json            MATCH     Same scheme (http), host, and port
http://example.com:80/other/page.html       MATCH     Identical scheme, host, and port
https://example.com/app/data.json           BLOCKED   Scheme mismatch (https != http)
http://api.example.com/data.json            BLOCKED   Host mismatch (subdomain differs)
http://example.com:8080/data.json           BLOCKED   Port mismatch (8080 != 80)