摘要:后端實(shí)現(xiàn)跨域第三方擴(kuò)展在介紹之前,我先介紹兩個(gè)概念同源策略跨域同源策略同源策略是一種約定,是瀏覽器的一種安全機(jī)制。這里同源需要協(xié)議域名端口三者都相同,否則不能進(jìn)行訪問(wèn)。跨域不同源之間的網(wǎng)站通信就是跨域。
在使用django-rest-framework開發(fā)項(xiàng)目的時(shí)候我們總是避免不了跨域的問(wèn)題,因?yàn)楝F(xiàn)在大多數(shù)的項(xiàng)目都是前后端分離,前后端項(xiàng)目部署在不同的web服務(wù)器上,因?yàn)槲覀兪呛蠖顺绦騿T,因此我要通過(guò)后端的程序?qū)崿F(xiàn)跨域。當(dāng)然如果前端框架是Vue的話,則可以代理服務(wù)實(shí)現(xiàn)跨域,我也就知道一點(diǎn)點(diǎn),如果有興趣,大家可以自行搜索哦。
DRF后端實(shí)現(xiàn)跨域第三方擴(kuò)展———djangocorsheaders,在介紹之前,我先介紹兩個(gè)概念:同源策略、跨域
同源策略/SOP(Same origin policy)是一種約定,是瀏覽器的一種安全機(jī)制。這里同源需要"協(xié)議+域名+端口"三者都相同,否則不能進(jìn)行Ajax訪問(wèn)。
跨域不同源之間的網(wǎng)站通信就是跨域。
安裝pip install django-cors-headers注冊(cè)
INSTALLED_APPS = ( "corsheaders", )添加中間件
MIDDLEWARE = [ "corsheaders.middleware.CorsMiddleware", #最好添加至第一行 ]配置白名單
#單個(gè)配置 CORS_ORIGIN_WHITELIST =( " 域名", ) #正則配置: CORS_ORIGIN_REGEX_WHITELIST =(r"^(https?://)?(w+.)?jim.com $",)
或者直接允許所有主機(jī)跨域
CORS_ORIGIN_ALLOW_ALL = True 默認(rèn)為False允許攜帶cookie
CORS_ALLOW_CREDENTIALS = True請(qǐng)求頭及請(qǐng)求方法的配置:
#默認(rèn)可以使用的非標(biāo)準(zhǔn)請(qǐng)求頭,需要使用自定義請(qǐng)求頭時(shí),就可以進(jìn)行修改 CORS_ALLOW_HEADERS = ( "accept", "accept-encoding", "authorization", "content-type", "dnt", "origin", "user-agent", "x-csrftoken", "x-requested-with", ) #默認(rèn)請(qǐng)求方法 CORS_ALLOW_METHODS = ( "DELETE", "GET", "OPTIONS", "PATCH", "POST", "PUT", )防止CSRF
#添加信任的站點(diǎn) django1.9引入 CSRF_TRUSTED_ORIGINS = ( "change.allowed.com", )
一般情況下,我們配置這些就足夠,當(dāng)然最為一個(gè)出名的擴(kuò)展,肯定做的很完美,更多的配置,請(qǐng)?jiān)L問(wèn):https://github.com/ottoyiu/dj...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/45464.html
摘要:后端實(shí)現(xiàn)跨域第三方擴(kuò)展在介紹之前,我先介紹兩個(gè)概念同源策略跨域同源策略同源策略是一種約定,是瀏覽器的一種安全機(jī)制。這里同源需要協(xié)議域名端口三者都相同,否則不能進(jìn)行訪問(wèn)。跨域不同源之間的網(wǎng)站通信就是跨域。 在使用django-rest-framework開發(fā)項(xiàng)目的時(shí)候我們總是避免不了跨域的問(wèn)題,因?yàn)楝F(xiàn)在大多數(shù)的項(xiàng)目都是前后端分離,前后端項(xiàng)目部署在不同的web服務(wù)器上,因?yàn)槲覀兪呛蠖顺绦騿T...
摘要:后端實(shí)現(xiàn)跨域第三方擴(kuò)展在介紹之前,我先介紹兩個(gè)概念同源策略跨域同源策略同源策略是一種約定,是瀏覽器的一種安全機(jī)制。這里同源需要協(xié)議域名端口三者都相同,否則不能進(jìn)行訪問(wèn)。跨域不同源之間的網(wǎng)站通信就是跨域。 在使用django-rest-framework開發(fā)項(xiàng)目的時(shí)候我們總是避免不了跨域的問(wèn)題,因?yàn)楝F(xiàn)在大多數(shù)的項(xiàng)目都是前后端分離,前后端項(xiàng)目部署在不同的web服務(wù)器上,因?yàn)槲覀兪呛蠖顺绦騿T...
摘要:為什么要進(jìn)行前后端分離多端適配開發(fā)模式的流行前后端職責(zé)不清前后端開發(fā)效率問(wèn)題,前后端相互等待前段一直配合后端,能力受到限制后端開發(fā)語(yǔ)言和模板高度耦合,導(dǎo)致開發(fā)語(yǔ)言依賴嚴(yán)重前后端分離的缺點(diǎn)前后端學(xué)習(xí)門檻增加數(shù)據(jù)依賴,導(dǎo)致文檔的重要性增加前段工 DRF 為什么要進(jìn)行前后端分離 PC,APP,PAD多端適配 SPA開發(fā)模式的流行 前后端職責(zé)不清 前后端開發(fā)效率問(wèn)題,前后端相互等待 前段一直...
摘要:同源策略禁止使用對(duì)象向不同源的服務(wù)器地址發(fā)起請(qǐng)求。借助于決解同源策略決解同源策略,新方案跨域資源共享這里講的重點(diǎn)跨域資源共享提供的標(biāo)準(zhǔn)跨域解決方案,是一個(gè)由瀏覽器共同遵循的一套控制策略,通過(guò)的來(lái)進(jìn)行交互主要通過(guò)后端來(lái)設(shè)置配置項(xiàng)。 了解下同源策略 源(origin)*:就是協(xié)議、域名和端口號(hào); 同源: 就是源相同,即協(xié)議、域名和端口完全相同; 同源策略:同源策略是瀏覽器的一個(gè)安全...
閱讀 1518·2023-04-25 17:41
閱讀 3040·2021-11-22 15:08
閱讀 842·2021-09-29 09:35
閱讀 1605·2021-09-27 13:35
閱讀 3323·2021-08-31 09:44
閱讀 2716·2019-08-30 13:20
閱讀 1939·2019-08-30 13:00
閱讀 2558·2019-08-26 12:12