前端跨域的那些事

這一節(jié),我們來(lái)講一講,前端跨域的那些事,主要分成這樣的幾部分來(lái)講解,

一、為什么要跨域?

二、常見(jiàn)的幾種跨域與使用場(chǎng)景

2.1 JSONP跨域

2.2 iframe跨域

2.3 window.name 跨域

2.4 document.domain 跨域

2.5 cookie跨域

2.6 postMessage跨域

三、總結(jié)

一、為什么要跨域

 跨域,通常情況下是說(shuō)在兩個(gè)不通過(guò)的域名下面無(wú)法進(jìn)行正常的通信,或者說(shuō)是無(wú)法獲取其他域名下面的數(shù)據(jù),這個(gè)主要的原因是,瀏覽器出于安全問(wèn)題的考慮,采用了同源策略,通過(guò)瀏覽器對(duì)JS的限制,防止惡意用戶獲取非法的數(shù)據(jù)。比如這樣的一個(gè)場(chǎng)景,惡意用戶仿造一個(gè)銀行的官網(wǎng),在用戶輸入框中嵌套了銀行的頁(yè)面,如果是沒(méi)有同源策略的限制,那么惡意用戶則可以通過(guò)這樣的一種方法來(lái)獲取銀行用戶的卡號(hào)和登錄密碼,這樣對(duì)于瀏覽器來(lái)說(shuō)是沒(méi)有安全性可言的。同時(shí)也可以有效的規(guī)避了大部分的XSS攻擊(XSS攻擊原理:通過(guò)向用戶界面中注入script腳本,然后在腳本中獲取用戶的token等身份信息,然后將身份信息發(fā)送到惡意用戶指定的地方,在正常用戶還沒(méi)有推出的時(shí)候,也就是token等身份信息還有效的時(shí)候,通過(guò)這些信息強(qiáng)制登錄,將正常用戶擠下系統(tǒng)。)

 

網(wǎng)友評(píng)論