Repository navigation
同源政策的目的 #36
Unanswered
Lauviah0622
asked this question in
其他問題
同源政策的目的
#36
Replies: 1 comment
|
已私訊原 po,之後會出一系列文件講這個但還沒公開發佈XD |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
有一點搞不太懂同源政策的目的,因為同源政策,所以 browser 會擋掉不同來源的 response 。
一開始的想法是同源政策是在保護 client 端,怕 client 端引入奇怪 server 的資料然後做一些奇怪的事情,但是這邊我想不太到說 client 會引入其他網站的 script 導致出事情的例子,不過隨便引入內容到網站應該是不太好的事情。
但是後來覺得有點奇怪,這樣惡意的 server 端只要設定
Access-Control-Allow-Origin: *那同源政策就沒有意義了,所以有點沒辦法說服自己。不過剛剛準備面試衝刺題時看到 w3c 的這份文件(應該是 spec),裡面有這段:
為了防止奇怪的網站向自己發 request,所以設一個 header,讓和自己同源的 request 才可以使用 response,換句話說同源政策是在保護 server 端的資料不被任意讀取。
但是想想之後有點奇怪。如果要防止不同源的網站使用 response ,直接不送不是更好?不是自己 domain 的 origin 就直接不回傳 response ,CORS 必須要設 header 才能存取資源的方式有點拐彎抹角。而且 server 端的防護設定在 browser 本身也有點奇怪,如果用 curl 之類的東西 reqeust 就沒用了。
目前在想可能是歷史原因?雖然知道怎麼用但是原因不明確每次想到都有點心虛 XD,想問問大家的看法
All reactions