jsonp為啥能跨域呢,我們來(lái)盜一下這個(gè)墓_html/css_WEB-ITnose
來(lái)源:懂視網(wǎng)
責(zé)編:小采
時(shí)間:2020-11-27 16:36:07
jsonp為啥能跨域呢,我們來(lái)盜一下這個(gè)墓_html/css_WEB-ITnose
jsonp為啥能跨域呢,我們來(lái)盜一下這個(gè)墓_html/css_WEB-ITnose:不知道大家最近看沒(méi)看《鬼吹燈之尋龍?jiān)E 》,感覺(jué)IMAX-3D效果真不錯(cuò),雖然劇情不咋滴,但是效果是出來(lái)了。好了,今天我們也來(lái)一場(chǎng)盜墓,這次是挖jsonp的墳,挖一挖為啥jsonp就能跨域呢,它咋就那么牛X呢。如果看到了這篇文章,那么大家對(duì)于跨域一定不陌生了,
導(dǎo)讀jsonp為啥能跨域呢,我們來(lái)盜一下這個(gè)墓_html/css_WEB-ITnose:不知道大家最近看沒(méi)看《鬼吹燈之尋龍?jiān)E 》,感覺(jué)IMAX-3D效果真不錯(cuò),雖然劇情不咋滴,但是效果是出來(lái)了。好了,今天我們也來(lái)一場(chǎng)盜墓,這次是挖jsonp的墳,挖一挖為啥jsonp就能跨域呢,它咋就那么牛X呢。如果看到了這篇文章,那么大家對(duì)于跨域一定不陌生了,

不知道大家最近看沒(méi)看《鬼吹燈之尋龍?jiān)E 》,感覺(jué)IMAX-3D效果真不錯(cuò),雖然劇情不咋滴,但是效果是出來(lái)了。好了,今天我們也來(lái)一場(chǎng)盜墓,這次是挖jsonp的墳,挖一挖為啥jsonp就能跨域呢,它咋就那么牛X呢。如果看到了這篇文章,那么大家對(duì)于跨域一定不陌生了,通俗說(shuō)就是不同域請(qǐng)求資源。不過(guò)怎么就構(gòu)成跨域呢,這個(gè)問(wèn)題貌似在《白帽子講web安全》這本書(shū)里講的比較全面,本文不去深究了,我們今天是來(lái)盜墓的,開(kāi)始干活。
基本思路
大家都知道
這個(gè)接口是支持跨域的,為啥呢,接下來(lái)我們開(kāi)始挖。
測(cè)試跨域
如果接口支持跨域并且沒(méi)有做其他限制,那么也就意味著這個(gè)接口在任何地方都可以調(diào)用。所以我們?cè)诒镜匦陆ㄒ粋€(gè)test.html文件,文件內(nèi)容如下:
用chrome打開(kāi)上述文件,然后右鍵審查元素,你將會(huì)收獲一個(gè)錯(cuò)誤信息,點(diǎn)擊錯(cuò)誤信息,可以得到如下圖:
其實(shí)這個(gè)報(bào)錯(cuò)信息提示我們func未定義,其實(shí)就是我們傳入的callback的參數(shù)未定義,那這個(gè)需要在哪里定義呢?當(dāng)然是在我們的html頁(yè)面中,我們?cè)趆tml中定義一下,代碼如下:
其實(shí)是相當(dāng)于返回了一段調(diào)用js方法的代碼,調(diào)用了js代碼里的callback方法,而如果只是返回一串json,那么返回的是數(shù)據(jù)。如果你是js開(kāi)發(fā)人員,需要注意jsonp返回的值是一段js代碼,是有危險(xiǎn)的,比如在callback前邊加上一個(gè)while(1){}那你的代碼就徹底歇菜了,不要輕易去使用別人的接口。此外還得提醒大家,jsonp只能通過(guò)GET方式傳輸,不能用POST等方式。
打完收工,今天我們從兩個(gè)角度去思考了jsonp是怎么完成跨域的,其實(shí)本質(zhì)是一樣的,如果你想徹底弄明白這個(gè)過(guò)程,最好動(dòng)手試一下。
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
jsonp為啥能跨域呢,我們來(lái)盜一下這個(gè)墓_html/css_WEB-ITnose
jsonp為啥能跨域呢,我們來(lái)盜一下這個(gè)墓_html/css_WEB-ITnose:不知道大家最近看沒(méi)看《鬼吹燈之尋龍?jiān)E 》,感覺(jué)IMAX-3D效果真不錯(cuò),雖然劇情不咋滴,但是效果是出來(lái)了。好了,今天我們也來(lái)一場(chǎng)盜墓,這次是挖jsonp的墳,挖一挖為啥jsonp就能跨域呢,它咋就那么牛X呢。如果看到了這篇文章,那么大家對(duì)于跨域一定不陌生了,