同源策略 & 跨域

同源策略

爲保護用戶信息安全,防止惡意網站竊取用戶數據,瀏覽器限制本域中的腳本只能訪問本域中的資源,這就是同源策略。javascript

同源的定義

若是兩個 URL 的 protocolhostport 三者都相同的話,則這兩個 URL 是同源,即屬於同一個域。java

源的繼承

在頁面中經過 about:blankjavascript: URL 執行的腳本會繼承打開該 URL 的文檔的源,由於這些類型的 URL 沒有包含源服務器的相關信息。跨域

源的修改

能夠經過設置 document.domain 爲當前域或者當前域的父域來修改當前頁面的源。 因爲設置 document.domain 會致使 port 被重置爲 null,因此使用這種方式修改源時,須要在父域和子域中設置 document.domain 爲相同的值,不然會因爲 port 不相同而沒法經過同源檢測。瀏覽器

跨域

請求與當前域非同源的域中的資源即爲跨域。安全

跨域解決方案

相關文章
相關標籤/搜索