同源政策(英語:Same-origin policy)是指在Web瀏覽器中,允許某個網頁指令碼訪問另一個網頁的數據,但前提是這兩個網頁必須有相同的URI、主機名和埠號,一旦兩個網站滿足上述條件,這兩個網站就被認定為具有相同來源。此策略可防止某個網頁上的惡意指令碼通過該頁面的文件物件模型訪問另一網頁上的敏感數據。
![]() | 此條目可參照英語維基百科相應條目來擴充。 |
同源政策對Web應用程式具有特殊意義,因為Web應用程式廣泛依賴於HTTP cookie[1]來維持用戶對談,所以必須將不相關網站嚴格分隔,以防止遺失數據洩露。
值得注意的是同源政策僅適用於指令碼,這意味着某網站可以通過相應的HTML標籤[2]訪問不同來源網站上的圖像、CSS和動態載入指令碼等資源。而跨站請求偽造就是利用同源政策不適用於HTML標籤的缺陷。
相同來源網站舉例
下表列出哪些URL與URL http://www.example.com/dir/page.html 屬於相同來源:
URL | 結果 | 原因 |
---|---|---|
http://www.example.com/dir/page2.html | 是 | 只有路徑不同 |
http://www.example.com/dir2/other.html | 是 | 只有路徑不同 |
http://username:password@www.example.com/dir2/other.html | 是 | 只有路徑不同 |
http://www.example.com:81/dir/other.html | 否 | 不同埠(若未標明,http:// 默認埠號為80) |
https://www.example.com/dir/other.html[失效連結] | 否 | 不同協定(https和http) |
http://en.example.com/dir/other.html | 否 | 不同域名 |
http://example.com/dir/other.html | 否 | 不同域名(需要完全匹配) |
http://v2.www.example.com/dir/other.html | 否 | 不同域名(需要完全匹配) |
另見
參考文獻
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.