摘要:在通常情況下,為了網(wǎng)站的安全性,對(duì)象只能訪問(wèn)到與當(dāng)前頁(yè)面位于同一個(gè)域下的資源。由兩部分組成,一部分是回調(diào)函數(shù),一部分是所包含的數(shù)據(jù)?;卣{(diào)函數(shù)是請(qǐng)求數(shù)據(jù)時(shí)指定,而數(shù)據(jù)則是跨域資源返回的數(shù)據(jù)。
在通常情況下,為了網(wǎng)站的安全性,Ajax對(duì)象只能訪問(wèn)到與當(dāng)前頁(yè)面位于同一個(gè)域下的資源。但有時(shí)往往需要訪問(wèn)別的域中的資源,這是就運(yùn)用到了跨域這個(gè)概念,這其中運(yùn)用最廣泛的就是JSONP。
JSONP,即JSON with padding(填充式的JSON)。JSON由兩部分組成,一部分是回調(diào)函數(shù),一部分是所包含的數(shù)據(jù)?;卣{(diào)函數(shù)是請(qǐng)求數(shù)據(jù)時(shí)指定,而數(shù)據(jù)則是跨域資源返回的JSON數(shù)據(jù)。
要實(shí)現(xiàn)使用JSONP跨域需要三步:
第一步,動(dòng)態(tài)創(chuàng)建一個(gè)script元素;
第二步,設(shè)置script元素的src為想要跨域請(qǐng)求資源的url,這個(gè)url的參數(shù)callback為請(qǐng)求到資源后的處理函數(shù);
第三步,定義處理函數(shù),處理返回的對(duì)象;
第四步,把script元素添加到頁(yè)面中
var scriptEl = document.createElement("script"); scriptEl.src = "http://www.freegeoip.net/json/?callback=handleResponse"; document.body.appendChild(scriptEl); function handleResponse(response) { /*response的類型是Object*/ alert(response.country_name); }
但是JSONP也并不是完美的,主要有兩個(gè)缺點(diǎn):
一、由于請(qǐng)求的是其他域中的資源,很有可能這個(gè)資源不安全,造成網(wǎng)站的損失。
二、不容易確定資源是否請(qǐng)求成功。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/81660.html
摘要:可以說(shuō)同源策略在安全中扮演著及其重要的角色。我把這個(gè)領(lǐng)域的東西寫(xiě)成了一個(gè)系列,以后還會(huì)繼續(xù)完善下去安全一同源策略與跨域安全二攻擊安全三攻擊 之所以要將同源策略與跨域?qū)懺谝黄穑且驗(yàn)榇嬖跒g覽器的同源策略,才會(huì)存在跨域問(wèn)題 何為同源策略 同源策略是瀏覽器實(shí)現(xiàn)的一種安全策略,它限制了不同源之間的文檔和腳本交互的權(quán)限。只有同一個(gè)源的腳本才會(huì)具有操作dom、讀寫(xiě)cookie、session 、a...
摘要:扯了這么多,自然不是為了吹水,而是要為了引出前端開(kāi)發(fā)的一個(gè)重要的知識(shí)點(diǎn)同源策略什么是同源策略出于保護(hù)用戶信息安全的目的,現(xiàn)在的瀏覽器都會(huì)實(shí)施同源策略這個(gè)政策,所謂同源策略指的是不同源的客戶端腳本在沒(méi)有明確授權(quán)情況下,不允許讀寫(xiě)對(duì)方的資源。 導(dǎo)語(yǔ)你家的小孩帶了他的朋友來(lái)你們的家里玩,你家的小孩如果要在自家屋里拿玩具玩、拿東西吃你自然是不會(huì)阻止,但是如果你家小孩的朋友人品不行,亂拿東西吃、...
摘要:扯了這么多,自然不是為了吹水,而是要為了引出前端開(kāi)發(fā)的一個(gè)重要的知識(shí)點(diǎn)同源策略什么是同源策略出于保護(hù)用戶信息安全的目的,現(xiàn)在的瀏覽器都會(huì)實(shí)施同源策略這個(gè)政策,所謂同源策略指的是不同源的客戶端腳本在沒(méi)有明確授權(quán)情況下,不允許讀寫(xiě)對(duì)方的資源。 導(dǎo)語(yǔ)你家的小孩帶了他的朋友來(lái)你們的家里玩,你家的小孩如果要在自家屋里拿玩具玩、拿東西吃你自然是不會(huì)阻止,但是如果你家小孩的朋友人品不行,亂拿東西吃、...
摘要:關(guān)于,強(qiáng)烈推薦閱讀跨域資源共享詳解阮一峰另外,這里也整理了一個(gè)實(shí)現(xiàn)原理圖簡(jiǎn)化版如何判斷是否是簡(jiǎn)單請(qǐng)求瀏覽器將請(qǐng)求分成兩類簡(jiǎn)單請(qǐng)求和非簡(jiǎn)單請(qǐng)求。 前言 從剛接觸前端開(kāi)發(fā)起,跨域這個(gè)詞就一直以很高的頻率在身邊重復(fù)出現(xiàn),一直到現(xiàn)在,已經(jīng)調(diào)試過(guò)N個(gè)跨域相關(guān)的問(wèn)題了,16年時(shí)也整理過(guò)一篇相關(guān)文章,但是感覺(jué)還是差了點(diǎn)什么,于是現(xiàn)在重新梳理了一下。 個(gè)人見(jiàn)識(shí)有限,如有差錯(cuò),請(qǐng)多多見(jiàn)諒,歡迎提出iss...
摘要:例外當(dāng)涉及到同源策略時(shí),有兩個(gè)主要的例外授信范圍兩個(gè)相互之間高度互信的域名,如公司域名,不遵守同源策略的限制。端口未將端口號(hào)加入到同源策略的組成部分之中,因此和屬于同源并且不受任何限制。 原文鏈接:http://www.devsai.com/2016/11/24/talk-CORS/ 同源策略(same origin policy) 1995年,同源政策由 Netscape 公司引入瀏...
閱讀 1300·2023-04-25 19:33
閱讀 1184·2021-10-21 09:39
閱讀 3656·2021-09-09 09:32
閱讀 2634·2019-08-30 10:58
閱讀 1638·2019-08-29 16:17
閱讀 889·2019-08-29 15:29
閱讀 2902·2019-08-26 11:55
閱讀 2670·2019-08-26 10:33