跨域系列之(一)

最近或多或少經(jīng)呈Γ看到跨域操作,自己也沒有有個(gè)時(shí)間去專門研究透徹這一塊盾舌,所以打算借此機(jī)會(huì)墓臭,好好研究一番,并為此寫幾篇博文妖谴,這也算鞏固一下這方面的基礎(chǔ)知識(shí)窿锉。

不過講跨域之前就有必要先了解是什么導(dǎo)致了跨域才能清求,答案就是 瀏覽器的同源策略

那么何為 "" 呢?
首先看看RFC6454里有定義URI源的算法定義嗡载。

源包括協(xié)議窑多、域名、端口號(hào)洼滚。
標(biāo)準(zhǔn)瀏覽器下查看源的方式:location.origin
ie瀏覽器下不支持此種方式埂息,但我們可以使用“ location.protocol查看協(xié)議、location.hostname查看域名判沟、location.port查看端口號(hào) ” 來查看源耿芹。

原文給出的例子:

例子

總結(jié)起來只有三個(gè)值一樣,才屬于同源挪哄,像圖片中上面三個(gè)網(wǎng)址屬于同源吧秕,下面的則不是。再給個(gè)具體的例子鞏固下:

解決了什么是 下來就是什么是同源策略迹炼。
一樣來看看這篇文章的定義.

In computing, the same-origin policy is an important concept in the web application security model. Under the policy, a web browser permits scripts contained in a first web page to access data in a second web page, but only if both web pages have the same origin. An origin is defined as a combination of URI scheme, host name, and port number. This policy prevents a malicious script on one page from obtaining access to sensitive data on another web page through that page's Document Object Model.

同源策略是瀏覽器的一個(gè)安全功能砸彬,不同源的客戶端腳本在沒有明確授權(quán)的情況下,不能讀寫對(duì)方資源斯入。所以lmc.com下的js腳本采用ajax讀取szu.com里面的文件數(shù)據(jù)是會(huì)報(bào)錯(cuò)的砂碉。

? 不受同源策略限制的:
1、頁面中的鏈接刻两,重定向以及表單提交是不會(huì)受到同源策略限制的增蹭。
2、跨域資源的引入是可以的磅摹。但是js不能讀寫加載的內(nèi)容滋迈。如嵌入到頁面中的<script src="..."></script>,<img>户誓,<link>饼灿,<iframe>等。

那么現(xiàn)實(shí)生活中帝美,我們往往不能僅僅滿足于同源之間資源共享碍彭,那么如何突破同源策略呢?

一悼潭、降域
對(duì)于主域相同而子域不同的例子庇忌,可以通過設(shè)置document.domain的辦法來解決。具體的做法是可以在http://www.a.com/a.htmlhttp://script.a.com/b.html兩個(gè)文件中分別加上document.domain = ‘a.com’女责;然后通過a.html文件中創(chuàng)建一個(gè)iframe漆枚,去控制iframe的contentDocument,這樣兩個(gè)js文件之間就可以“交互”了抵知。當(dāng)然這種辦法只能解決主域相同而二級(jí)域名不同的情況,如果你異想天開的把script.a.com的domian設(shè)為alibaba.com那顯然是會(huì)報(bào)錯(cuò)地!代碼如下:

www.a.com上的a.html

document.domain = 'a.com';
var ifr = document.createElement('iframe');
ifr.src = 'http://script.a.com/b.html';
ifr.style.display = 'none';
document.body.appendChild(ifr);
ifr.onload = function(){
    var doc = ifr.contentDocument || ifr.contentWindow.document;
    // 在這里操縱b.html
    alert(doc.getElementsByTagName("h1")[0].childNodes[0].nodeValue);
};

script.a.com上的b.html document.domain = 'a.com';

問題:
1刷喜、安全性残制,當(dāng)一個(gè)站點(diǎn)(b.a.com)被攻擊后,另一個(gè)站點(diǎn)(c.a.com)會(huì)引起安全漏洞掖疮。
2初茶、如果一個(gè)頁面中引入多個(gè)iframe,要想能夠操作所有iframe浊闪,必須都得設(shè)置相同domain恼布。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市搁宾,隨后出現(xiàn)的幾起案子折汞,更是在濱河造成了極大的恐慌,老刑警劉巖盖腿,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爽待,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡翩腐,警方通過查閱死者的電腦和手機(jī)鸟款,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門精钮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來娄蔼,“玉大人残炮,你說我怎么就攤上這事甩挫≡忝兀” “怎么了吧雹?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵眼刃,是天一觀的道長截歉。 經(jīng)常有香客問我而咆,道長霍比,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任暴备,我火速辦了婚禮悠瞬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘涯捻。我一直安慰自己浅妆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布障癌。 她就那樣靜靜地躺著凌外,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涛浙。 梳的紋絲不亂的頭發(fā)上康辑,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天摄欲,我揣著相機(jī)與錄音,去河邊找鬼疮薇。 笑死胸墙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的按咒。 我是一名探鬼主播迟隅,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼励七!你這毒婦竟也來了智袭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤掠抬,失蹤者是張志新(化名)和其女友劉穎吼野,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剿另,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡箫锤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了雨女。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谚攒。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖氛堕,靈堂內(nèi)的尸體忽然破棺而出馏臭,到底是詐尸還是另有隱情,我是刑警寧澤讼稚,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布括儒,位于F島的核電站,受9級(jí)特大地震影響锐想,放射性物質(zhì)發(fā)生泄漏帮寻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一赠摇、第九天 我趴在偏房一處隱蔽的房頂上張望固逗。 院中可真熱鬧,春花似錦藕帜、人聲如沸烫罩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贝攒。三九已至,卻和暖如春时甚,著一層夾襖步出監(jiān)牢的瞬間隘弊,已是汗流浹背哈踱。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留长捧,地道東北人嚣鄙。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓吻贿,卻偏偏與公主長得像串结,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子舅列,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容