前端跨域的那些事

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

一、為什么要跨域?

二、常見的幾種跨域與使用場景

2.1 JSONP跨域

2.2 iframe跨域

2.3 window.name 跨域

2.4 document.domain 跨域

2.5 cookie跨域

2.6 postMessage跨域

三、總結

一、為什么要跨域

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