溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

js同源策略指的是什么

發(fā)布時(shí)間:2020-11-23 13:46:57 來(lái)源:億速云 閱讀:130 作者:小新 欄目:web開(kāi)發(fā)

這篇文章主要介紹了js同源策略指的是什么,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

對(duì)于任何基于WEB的應(yīng)用,最重要的就是安全性.JS中有各種安全檢查以防止惡意腳本攻擊你的機(jī)器,其中一些特定的安全手段在各種瀏覽器中都有采用.如:Mozilla有個(gè)完全獨(dú)特的完全模型,涉及到了簽署腳本和加強(qiáng)特權(quán).我們要知道哪些安全手段是所有瀏覽器通用的,哪些是特定瀏覽器的.這樣就能創(chuàng)建更安全的JS腳本.

同源策略;

JS只能與同一個(gè)域中的頁(yè)面進(jìn)行通訊.如:運(yùn)行在 http://domain:port/app1/page.html;上的腳本不能和http://domain:port/app3/page.html;的瀏覽器窗口或iframe 進(jìn)行交互.不能訪問(wèn)它的cookie,接收它的HTTP響應(yīng)等(但它可以向任何其他源發(fā)送HTTP請(qǐng)求);AJAX 和 webservice 也受此策略管束.這種手段就叫同源策略;

兩個(gè)腳本被認(rèn)為是同源的條件是:

協(xié)議相同(比如都是http://)

端口相同(通常都是80)

域名相同

如果這三個(gè)條件中有任何一條不滿足,就不允許兩個(gè)腳本進(jìn)行交互.如:www.mydomain.com上的腳本不能訪問(wèn)video.mydomain.com上的頁(yè)面 ,因?yàn)閮烧叩挠蛎煌?雖然后者是前者的子域.同樣,它也不能訪問(wèn)www.mydomain.com:8080上的頁(yè)面 ,因?yàn)槎丝诓煌?也不能訪問(wèn)about:blank 因?yàn)閰f(xié)議不同(后者不是http://)

同源策略帶來(lái)的影響:

它影響了與BOM,DOM間的交互.如:不可以訪問(wèn)不同來(lái)源的任何頁(yè)面的document對(duì)象,也就是說(shuō)不能訪問(wèn)其中任何DOM結(jié)構(gòu).如:

頁(yè)面上有兩個(gè)iframe 分別引用了不同源;

alert(frames[1].location.href);

alert(frames[1].document.location.href);//失敗

window 和 document 都有一個(gè) location 對(duì)象的屬性.如果在與框架頁(yè)不同源的頁(yè)面中運(yùn)行這兩行代碼,第二行會(huì)報(bào)錯(cuò).

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享js同源策略指的是什么內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問(wèn)題就找億速云,詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI