Same-Origin Policy
同源政策
同源政策是瀏覽器的安全規則。它會限制一個來源的頁面或指令碼,如何讀取或操作另一個來源的資料。
另一個例子
`reports.example` 上的指令碼無法讀取使用者在 `mail.example` 的收件匣,即使瀏覽器可以把 Cookie 傳到那裡。刻意開放跨來源的分析 API 只會回傳一個完全相符的 `Access-Control-Allow-Origin`,而且不帶憑證。視窗訊息必須檢查 `event.origin` 和訊息結構後才會接受。
主要部分
- 01來源 Origin
- 02目標 Origin 與資源
- 03讀取/互動限制或明確授權
什麼時候用
把每個來源當成瀏覽器的基本安全邊界。需要共享資料時,應用最小權限設計清楚的 CORS 或 `postMessage` 通道。
什麼時候不要用
SOP 不會阻止所有跨站請求、導覽、嵌入、CSRF 或旁路洩漏。它主要限制的是讀取和互動。
程式裡的名稱
origin tuple (scheme, host, port) + controlled CORS/postMessage exceptions 上線前要檢查
檢查介面約定、任何情況都不能破壞的規則、授權與輸入限制。測試重試、重複執行只生效一次、逾時與部分失敗。驗證資料完整性、相容性、監控、復原與回復上一版。
預期成果:為這套系統設計或檢查 同源政策 (Same-Origin Policy),並讓資料保持正確、安全且容易維護。 使用者情境:`reports.example` 上的指令碼無法讀取使用者在 `mail.example` 的收件匣,即使瀏覽器可以把 Cookie 傳到那裡。刻意開放跨來源的分析 API 只會回傳一個完全相符的 `Access-Control-Allow-Origin`,而且不帶憑證。視窗訊息必須檢查 `event.origin` 和訊息結構後才會接受。 技術概念或控制措施:同源政策 (Same-Origin Policy)。 適用理由:把每個來源當成瀏覽器的基本安全邊界。需要共享資料時,應用最小權限設計清楚的 CORS 或 `postMessage` 通道。 不應使用的情況:SOP 不會阻止所有跨站請求、導覽、嵌入、CSRF 或旁路洩漏。它主要限制的是讀取和互動。 工程要求:定義輸入、輸出、介面約定,以及任何情況都不能破壞的規則。說明授權與輸入檢查範圍。定義失敗、逾時、重試和重複執行只生效一次的規則。也要定義資料搬移與相容限制。 營運要求:加入監控訊號與隱藏敏感資料的記錄。設定容量上限並寫好操作手冊。測試復原與回復上一版的流程。 驗收條件:介面約定與失敗路徑測試通過。重試或部分失敗時,資料與授權規則仍正確。效能上限、監控、復原與回復上一版的方法都已驗證。 證據與限制(證據邊界):標準只涵蓋列出的範圍,不會替你決定外觀、產品做法或 Vibulary 的教學範例。 待確認:程式執行環境、資料位置、流量形態、資料一致需求和安全邊界。也要確認相容期間、服務目標(SLO)與回復上一版的限制。
檢查這份需求
請 AI 程式助手檢查目前如何使用 同源政策 (Same-Origin Policy)。 定義:同源政策是瀏覽器的安全規則。它會限制一個來源的頁面或指令碼,如何讀取或操作另一個來源的資料。 正式環境檢查:檢查介面約定、任何情況都不能破壞的規則、授權與輸入限制。測試重試、重複執行只生效一次、逾時與部分失敗。驗證資料完整性、相容性、監控、復原與回復上一版。 修改程式前,先列出看到的證據、缺口、嚴重程度,以及最小且安全的修正。