亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

js同源策略詳解

2019-11-20 12:26:10
字體:
來源:轉載
供稿:網友

本文較為詳細的分析了js同源策略。分享給大家供大家參考。具體如下:

概念:同源策略是客戶端腳本(尤其是Javascript)的重要的安全度量標準。它最早出自Netscape Navigator2.0,其目的是防止某個文檔或腳本從多個不同源裝載。

這里的同源指的是:同協議,同域名和同端口。

精髓:

它的精髓很簡單:它認為自任何站點裝載的信賴內容是不安全的。當被瀏覽器半信半疑的腳本運行在沙箱時,它們應該只被允許訪問來自同一站點的資源,而不是那些來自其它站點可能懷有惡意的資源。

為什么要有同源限制?

我們舉例說明:比如一個黑客程序,他利用IFrame把真正的銀行登錄頁面嵌到他的頁面上,當你使用真實的用戶名,密碼登錄時,他的頁面就可以通過Javascript讀取到你的表單中input中的內容,這樣用戶名,密碼就輕松到手了。

Ajax應用:

在Ajax應用中這種安全限制被突破。

在普通的Javascript應用中,我們可以修改Frame的href,或者IFrame的src,以實現GET方式的跨域提交,但是卻不能訪問跨域的Frame/IFrame中的內容。

而Ajax它通過XMLHTTP進行異步交互,這個對象同樣能夠與遠程的服務器進行信息交互,而且更加危險的是,XMLHTTP是一個純粹的Javascript對象,這樣的交互過程,是在后臺進行的,不被用戶察覺。因此,XMLHTTP實際上已經突破了原有的Javascript的安全限制。

如果我們又想利用XMLHTTP的無刷新異步交互能力,又不愿意公然突破Javascript的安全策略,可以選擇的方案就是給XMLHTTP加上嚴格的同源限制。這樣的安全策略,很類似于Applet的安全策略。IFrame的限制還僅僅是不能訪問跨域HTMLDOM中的數據,而XMLHTTP則根本上限制了跨域請求的提交。

瀏覽器支持:而IE其實給這個安全策略開了兩個想當然的后門,一個是:他假設你的本地文件,自然清楚將會訪問什么內容,所以任何你的本地文件訪問外部數據, 都不會收到任何的警告。另一個是:當你訪問的網站腳本打算訪問跨域的信息時, 他居然僅僅是彈出一個對話框來提醒你一下。如果一個欺詐網站,采用這樣的手段,提供一個假頁面給你,然后通過XMLHTTP幫你遠程登錄真實的銀行服務器。只要10個用戶里,有一個用戶糊涂一下,點了一個確定。他們的盜取帳號行為,就成功了! 你想想看,這是何等危險的事情!

FireFox就不是這樣的做法,缺省的情況下,FireFox根本就不支持跨域的XMLHTTP請求,根本就不給黑客這樣的機會。

避免同源策略:

JSON和動態腳本標記

<script type="text/javascript"
src="http://yoursiteweb.com/findItinerary?username=sachiko&
reservationNum=1234&output=json&callback=showItinerary" /> 

當 JavaScript 代碼動態地插入 <script> 標記時,瀏覽器會訪問 src 屬性中的 URL。這樣會導致將查詢字符串中的信息發送給服務器。在 清單 1中,所傳遞的是 username 和 reservation 作為名稱值對傳遞。此外,查詢字符串還包含向服務器請求的輸出格式和回調函數的名稱(即 showItinerary)。<script> 標記加載后,會執行回調函數,并通過回調函數的參數把從服務返回的信息傳遞給該回調函數。

Ajax代理

Ajax 代理是一種應用級代理服務器,用于調解 Web 瀏覽器和服務器之間的 HTTP 請求和響應。Ajax 代理允許 Web 瀏覽器繞過同源策略,這樣便可以使用 XMLHttpRequest 訪問第三方服務器。要實現這種繞過,有如下兩種方法可供選擇:
客戶端 Web 應用程序知道第三方 URL 并將該 URL 作為 HTTP 請求中的一個請求參數傳遞給 Ajax 代理。然后,代理將請求轉發給 [url]www.49028c.com[/url]。注意,可以把代理服務器的使用隱藏在 Web應用程序開發人員所使用的 Ajax 庫的實現中。對于 Web 應用程序開發人員而言,它看上去可能完全不具有同源策略。
客戶端 Web 應用程序不知道第三方 URL,并且嘗試通過 HTTP 訪問 Ajax 代理服務器上的資源。通過一個預定義的編碼規則,Ajax 代理將 所請求的 URL 轉換為第三方服務器的 URL 并代表客戶檢索內容。這樣一來,Web 應用程序開發人員看上去就像是在和代理服務器直接進行通信。

Greasemonkey

Greasemonkey 是一個 Firefox 擴展,它允許用戶動態地對 Web 頁面的樣式和內容進行修改。Greasemonkey 用戶可以把用戶腳本(user script)文件與一個 URL 集合建立關聯。當瀏覽器通過該 URL 集合加載頁面時,便會執行這些腳本。Greasemonkey 為用戶腳本的 API 提供了額外的許可(與運行在瀏覽器沙盒中的腳本的許可相比較)。

GM_XMLHttpRequest 是其中的一個 API,它從本質上說就是一個不具有同源策略的 XMLHttpRequest。用戶腳本可以將瀏覽的內置 XMLHttpRequest 替代為 GM_XMLHttpRequest,從而許可 XMLHttpRequest 執行跨域訪問。

GM_XMLHttpRequest 的使用只能通過用戶同意的途徑才能受到保護。也就是說,Greasemonkey 只有在建立新用戶腳本與特定 URL 的集合之間的關聯時才會要求用戶配置。然而,不難想象一些用戶可能會被欺騙,在沒有完全理解其后果時就接受該安裝。

希望本文所述對大家的javascript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲免费成人av电影| 亚洲午夜久久久久久久| 555www成人网| 日韩精品中文在线观看| 色噜噜国产精品视频一区二区| 国产精品福利网| 亚州成人av在线| 久久精品中文字幕一区| 久久久久久久香蕉网| 亚洲男人天堂古典| 亚洲国产精品中文| 在线亚洲国产精品网| 亚洲美女性生活视频| 国产精品日韩欧美大师| 亚洲精品久久久久久久久久久久久| 青青久久av北条麻妃黑人| 国产一区二区精品丝袜| 欧美一级淫片videoshd| 亚洲一区中文字幕在线观看| 成人久久久久爱| 亚洲经典中文字幕| 久久天天躁狠狠躁夜夜躁2014| 啪一啪鲁一鲁2019在线视频| 国产精品亚洲美女av网站| 日本精品在线视频| 欧美洲成人男女午夜视频| 在线观看中文字幕亚洲| 91精品久久久久久久久久| 国产精品嫩草影院久久久| 4438全国亚洲精品在线观看视频| 日韩av网站在线| 91日本在线观看| 国产综合在线观看视频| 91精品久久久久久久久久久久久久| 亚洲国产成人精品一区二区| 欧美成人免费在线观看| 欧美日在线观看| 日韩av片免费在线观看| 91经典在线视频| 在线视频精品一| 日韩视频亚洲视频| 精品福利在线视频| 亚洲成年人在线播放| 人人做人人澡人人爽欧美| 高清欧美一区二区三区| 欧美裸身视频免费观看| 91在线高清免费观看| 日韩一中文字幕| 亚洲国产又黄又爽女人高潮的| 国产丝袜视频一区| 一色桃子一区二区| 国产日韩欧美夫妻视频在线观看| 亚洲成色999久久网站| 在线播放亚洲激情| 欧美亚洲成人精品| 亚洲福利视频网| 国外日韩电影在线观看| 日韩在线视频免费观看| 成人国内精品久久久久一区| 亚洲精品综合久久中文字幕| 91在线视频精品| 97在线视频精品| 日韩有码在线播放| 欧美理论电影在线播放| 久久久之久亚州精品露出| 国内精品美女av在线播放| 欧美成人精品一区二区| 国产亚洲免费的视频看| 欧美激情在线观看| 亚洲另类图片色| 久久人人爽国产| 亚洲网站在线看| www.久久久久| 中文字幕精品视频| 欧美视频在线观看免费| 日韩免费视频在线观看| 亚洲人成网7777777国产| 亚洲国产精品推荐| 亚洲成年网站在线观看| 久久av资源网站| 欧美—级高清免费播放| 国产最新精品视频| 国内外成人免费激情在线视频网站| 日韩精品视频三区| 久久久噜久噜久久综合| 亚洲开心激情网| 国产精品高精视频免费| 97国产精品久久| 国产成人精品一区二区在线| 国产精品igao视频| 亚洲性夜色噜噜噜7777| 免费97视频在线精品国自产拍| 国产狼人综合免费视频| 久久久99免费视频| 欧美日韩福利电影| 全亚洲最色的网站在线观看| 亚洲天堂网站在线观看视频| 91久久精品在线| 理论片在线不卡免费观看| 欧美精品日韩www.p站| 欧美乱大交xxxxx| 午夜精品福利在线观看| 精品欧美一区二区三区| 国产精品视频999| 日韩精品视频在线观看网址| 欧美国产日韩一区二区在线观看| 精品呦交小u女在线| 九九热视频这里只有精品| 久久免费国产视频| 97视频在线免费观看| 国产成+人+综合+亚洲欧美丁香花| 欧美日韩xxx| www.欧美精品一二三区| 国产精品在线看| 亚洲精品色婷婷福利天堂| 欧美在线视频免费| 欧洲精品在线视频| 欧美日韩国产限制| 国产精品久在线观看| 亚洲国产精品免费| 亚洲色图狂野欧美| 欧美中文在线视频| 亚洲最大福利网站| 亚洲人成在线观看| 色婷婷av一区二区三区久久| 免费不卡欧美自拍视频| 国自产精品手机在线观看视频| 国产精品成人播放| 91在线观看免费高清完整版在线观看| 久久久久久久久久久国产| 国产亚洲一区二区在线| 国产亚洲欧美日韩一区二区| 成人高清视频观看www| 国产一区二区视频在线观看| 亚洲激情自拍图| 亚洲成av人乱码色午夜| 国产亚洲视频中文字幕视频| 九九精品视频在线观看| 欧美人与性动交| 欧美一级bbbbb性bbbb喷潮片| 欧美成人午夜激情在线| 亚洲欧美日韩精品久久奇米色影视| 亚洲女人天堂成人av在线| 69久久夜色精品国产69| 亚洲美女在线观看| 精品视频在线播放色网色视频| 国产精品爽黄69天堂a| 久久精品国产亚洲一区二区| 亚洲理论电影网| 欧美激情精品久久久久久免费印度| 成人欧美一区二区三区在线湿哒哒| 日本韩国欧美精品大片卡二| 日本久久91av| 国产精品狼人色视频一区| 成人啪啪免费看| 精品亚洲aⅴ在线观看| 亚洲一区二区三区sesese| 欧美影院在线播放| 欧美精品www| 国产精品成人av性教育| 欧美激情亚洲一区| 国产精品久久久久久久久久久久久久| 一本色道久久88综合亚洲精品ⅰ| 亚洲欧美中文在线视频|