成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

20170616-跨域

Jinkey / 1255人閱讀

摘要:同源策略瀏覽器出于安全方面的考慮,不同源的客戶端腳本在沒有明確授權(quán)的情況下,不能讀寫對(duì)方的資源。傳回后回調(diào)函數(shù)立即執(zhí)行參數(shù)是后端產(chǎn)生的數(shù)據(jù)從而實(shí)現(xiàn)相應(yīng)的功能。

同源策略

瀏覽器出于安全方面的考慮,不同源的客戶端腳本在沒有明確授權(quán)的情況下,不能讀寫對(duì)方的資源。

同源指的是:

同協(xié)議

同域名

同端口

作用:保證用戶信息的安全,防止惡意的網(wǎng)站竊取數(shù)據(jù)

例1:A網(wǎng)站是一家銀行,用戶登錄以后,又去瀏覽其他網(wǎng)站。如果其他網(wǎng)站可以讀取A網(wǎng)站的 Cookie,會(huì)發(fā)生什么?很顯然,如果 Cookie 包含隱私(比如存款總額),這些信息就會(huì)泄漏。除此之外,Cookie 往往用來保存用戶的登錄狀態(tài),如果用戶沒有退出登錄,其他網(wǎng)站就可以冒充用戶,為所欲為。(因?yàn)闉g覽器同時(shí)還規(guī)定,提交表單不受同源政策的限制)

例2:惡意網(wǎng)站的頁面通過iframe嵌入了銀行的登錄頁面(二者不同源),如果沒有同源限制,惡意網(wǎng)頁上的javascript腳本就可以在用戶登錄銀行的時(shí)候獲取用戶名和密碼,從而造成相關(guān)的風(fēng)險(xiǎn)。

對(duì)于當(dāng)前頁面來說頁面中 JS 文件的域不重要,重要的是當(dāng)前頁面所在的域與 腳本中涉及到的域(例如xht的open方法的url)是否同源

跨域

跨域:瀏覽器出于安全方面的考慮設(shè)置了同源策略來限制不同域之間的交互,但是也阻礙了不域之間的協(xié)助。為了實(shí)現(xiàn)不同域之間的交互、協(xié)作,因此需要“跨域”。

跨域窗口通信 降域

降域獲取同一 Cookie:Cookie 是服務(wù)器寫入瀏覽器的一小段信息,只有同源的網(wǎng)頁才能共享。但是,兩個(gè)網(wǎng)頁一級(jí)域名相同,只是二級(jí)域名不同,瀏覽器允許通過設(shè)置document.domain 共享 Cookie。

example:A 網(wǎng)頁是 http://w1.example.com/a.html,B 網(wǎng)頁是http://w2.example.com/b.html,那么只要設(shè)置相同的 document.domain,兩個(gè)網(wǎng)頁就可以共享 Cookie。

JavaScript

// A網(wǎng)頁和B網(wǎng)頁設(shè)置相同的 document.domain
document.domain = "example.com"
// A網(wǎng)頁通過腳本設(shè)置 Cookie
document.cookie = "test1 = hello";
// B網(wǎng)頁可以獲取到該 Cookie
var otherCookie = document.cookie;

降域使不同源的iframe窗口和父窗口相互通信:如果兩個(gè)網(wǎng)頁不同源,就無法拿到對(duì)方的
DOM。典型的例子是 iframe 窗口和與父窗口無法通信。如果兩個(gè)窗口一級(jí)域名相同,只是二級(jí)域名不同,那么設(shè)置 document.domain 屬性,就可以規(guī)避同源政策,拿到
DOM。

A 網(wǎng)頁:URL: http://a.yanxin.com:8080/a.html

HTML

使用降域?qū)崿F(xiàn)跨域

script

iframe 中的 B 網(wǎng)頁:URL: http://b.yanxin.com:8080/b.html
HTML

script

postMessage

HTML5為了解決跨域問題,引入了一個(gè)全新的API:跨文檔通信 API(Cross-document messaging)。
這個(gè)API為window對(duì)象新增了一個(gè)window.postMessage方法,允許跨窗口通信,不論這兩個(gè)窗口是否同源。

目的:向另一個(gè)地方傳遞數(shù)據(jù),另一個(gè)地方指的是:包含在當(dāng)前頁面的