iT邦幫忙

0

Web基礎系列 - 8 - CORS:網站安全的守門員

web
  • 分享至 

  • xImage
  •  

CORS:網站安全的守門員

什麼是 CORS(跨來源資源共用)?

CORS,全名 Cross-Origin Resource Sharing,中文翻譯為跨來源資源共用
網頁世界有一條重要的安全規則叫做「同源政策」(Same-Origin Policy),它會限制網頁只能讀取同一個來源的資料。

同源是指三個東西都要一樣:網域協定(http或https)、和(port)。
這是為了防止壞人網站偷偷向你正在瀏覽的網站要資料,保障你和網站的安全。


CORS 的工作原理

當你瀏覽的網站想從另一個網站取得資料時,瀏覽器會先詢問目標網站:「你願意讓這個網站取用你的資料嗎?」
目標網站如果同意,會在回應中加上一些特別的「CORS 標頭」,告訴瀏覽器:「這個外部網站可以使用我的資料!」
瀏覽器看到允許的訊號後,才會把資料交給原本請求的網站。否則,資料請求會被阻擋。


常見的誤解:同源很容易達到嗎?

很多人覺得「只要網域、協定、埠都一樣就是同源,很簡單」,但現實中這三者容易有一項不一樣,造成跨源限制:

  • 你的網站是 https://myapp.com,但想取得的API可能是子網域 https://api.myapp.com,網域不同就不是同源。
  • 你的網站用預設端口443 (https標準端口),取的服務卻在8080端口,也被視為不同源。
  • 有些網站用 http ,有些用 https ,協定不同也算跨源。

瀏覽器會自動阻擋這些不同源的請求,直到伺服器正確設定 CORS 授權為止。


為什麼 CORS 重要?

  • 它就像網站的大門守衛,防止未經允許的網站偷取你正在瀏覽的網站的資料。
  • 保障用戶隱私與資料安全。
  • 同時能讓可信任的跨域服務安全溝通,方便網站整合更多功能。

小結

  • 同源政策限制了網頁只能存取同一來源的資源,保障安全。
  • CORS 是一種機制,讓伺服器可以有條件地允許特定跨來源存取。
  • 網域、協定和埠三者相同才是同源,任何不同都算跨源。
  • 這三個條件看似容易達成,但現實中各種情況都會造成跨源限制,所以CORS非常重要。

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言