01 / 瀏覽器安全
來源由三個部分共同決定
瀏覽器中的 origin 一般由協定、主機名稱與連接埠組成,三者都相同才視為同源。
同一主機分別使用安全與非安全協定時並不同源;a.example 與 b.example 的主機名稱不同,也不同源。
同源政策限制一個來源的程式隨意讀取另一來源的敏感資料,降低惡意頁面偷讀已登入內容的風險。
它主要是瀏覽器端的隔離規則,不代表兩台伺服器之間不能透過網絡互相發送請求。
02 / 瀏覽器安全
能發出請求不一定能讀回應
某些跨源請求可能實際送達伺服器,但瀏覽器不允許呼叫頁面的 JavaScript 讀取回應內容。
因此伺服器不能把 CORS 當作阻止危險操作的唯一防線;收到請求後仍要驗證身分、權限與防偽資料。
表單、圖片或導覽本來就能跨源載入部分資源,具體限制取決於請求類型與使用方式。
看到瀏覽器顯示 CORS 錯誤,只能說前端無法讀取,不足以證明伺服器完全沒有處理該請求。
03 / 瀏覽器安全
CORS 是伺服器給瀏覽器的讀取許可
CORS 即跨來源資源共享。伺服器可在回應加入 Access-Control-Allow-Origin,指明哪些來源可由瀏覽器程式讀取。
對可能改變狀態或帶特殊標頭的請求,瀏覽器可能先發送 OPTIONS 預檢,詢問允許的方法與標頭。
若伺服器許可,瀏覽器才把正式回應交給前端程式;若不許可,前端會被阻止讀取。
允許來源不應無條件反射任何輸入來源,尤其在同時允許憑證時,必須使用明確可信清單。
04 / 瀏覽器安全
CORS 不是登入與業務授權
即使某來源獲 CORS 許可,API 仍要核對使用者是否登入、是否可存取該帳戶,以及操作是否符合業務規則。
非瀏覽器客戶端可以自行發請求,不受瀏覽器同源政策保護,所以敏感資料不能只靠 CORS 隱藏。
Cookie 驗證還要考慮 SameSite、CSRF 防護與安全屬性;它們與 CORS 相關但並非同一機制。
錯誤地加入萬用來源可能擴大資料暴露,錯誤地完全關閉則會令合法前端失效,設定需按實際架構測試。
05 / 瀏覽器安全
錯誤訊息不能證明整站安全
使用者遇到 CORS 錯誤時,不應安裝不明擴充功能來全面停用瀏覽器保護;可向服務提供者回報具體網址與時間。
開發者應在受控環境測試允許來源、預檢、憑證與錯誤回應,並避免把秘密放在前端程式碼。
同源或 CORS 設定正確,不會證明遊戲結果公平、服務合法或交易可靠,這些需要獨立審核。
本文僅供知識分享,請理性看待;本站不接受投注、不提供註冊或博彩平台連結。數位安全不能取代時間與支出界線。