成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

處理Djangocors跨域問題

89542767 / 489人閱讀

  同源策略:同源策略/SOP(Sameoriginpolicy)是一類承諾,由Netscape公司1995年引進(jìn)電腦瀏覽器,這是電腦瀏覽器最關(guān)鍵也最基本安全配置,如今全部適用JavaScript瀏覽器都是會(huì)使用這種對(duì)策。假如缺乏了同源策略,電腦瀏覽器很容易受XSS、CSFR等進(jìn)攻。


  同宗就是指"協(xié)議書+網(wǎng)站域名+服務(wù)器端口"三個(gè)同樣,就算兩種不同的域名跳轉(zhuǎn)相同ip詳細(xì)地址,也不是同宗。


  源便是協(xié)議書、網(wǎng)站域名和服務(wù)器端口。


  協(xié)議書:http,https


  跨域請(qǐng)求:前面要求URL的協(xié)議書、網(wǎng)站域名、服務(wù)器端口與前端界面URL不一樣便是跨域請(qǐng)求


  在Django中處理跨域問題


  一、


  #1、安裝第三方庫django-cors-headers
  #2、在settings.py中添加'corsheaders.middleware.CorsMiddleware',在SessionMiddleware和CommonMiddleware的中間
  #3、在INSTALLED_APPS里添加“corsheaders”
  INSTALLED_APPS=[
  'search.apps.SearchConfig',
  'data.apps.DataConfig',
  'record_data.apps.RecordDataConfig',
  'deleted_data.apps.DeletedDataConfig',
  'mgmt.apps.MgmtConfig',
  'c_test.apps.CTestConfig',
  'rest_framework',
  'django.contrib.admin',
  'django.contrib.auth',
  'django.contrib.contenttypes',
  'django.contrib.sessions',
  'django.contrib.messages',
  'django.contrib.staticfiles',
  'corsheaders',#新增
  ]
  #4、在中間件中添加corsheaders.middleware.CorsMiddleware,django.middleware.common.CommonMiddleware
  MIDDLEWARE=[
  #'utils.middleware.ExceptionMiddleware',
  'django.middleware.security.SecurityMiddleware',
  'django.contrib.sessions.middleware.SessionMiddleware',
  'corsheaders.middleware.CorsMiddleware',#新增/必須在common中間件上面
  'django.middleware.common.CommonMiddleware',
  #'django.middleware.csrf.CsrfViewMiddleware',
  'django.contrib.auth.middleware.AuthenticationMiddleware',
  'django.contrib.messages.middleware.MessageMiddleware',
  'django.middleware.clickjacking.XFrameOptionsMiddleware',
  ]
  #5、在settings.py底部增加
  CORS_ALLOW_CREDENTIALS=True#允許攜帶cookie
  CORS_ORIGIN_ALLOW_ALL=True#放行所有
  CORS_ORIGIN_WHITELIST=('*')#白名單
  #CORS_ALLOW_METHODS:字符串列表,允許用哪些HTTP請(qǐng)求方法。
  CORS_ALLOW_METHODS=(
  'DELETE',
  'GET',
  'OPTIONS',
  'PATCH',
  'POST',
  'PUT',
  'VIEW',
  )
  #CORS_ALLOW_HEADERS:字符串列表,允許使用哪些非標(biāo)準(zhǔn)HTTP請(qǐng)求頭。
  CORS_ALLOW_HEADERS=(
  'accept',
  'accept-encoding',
  'authorization',
  'content-type',
  'dnt',
  'origin',
  'user-agent',
  'x-csrftoken',
  'x-requested-with',
  )


  二、


  #可以自己注冊(cè)一個(gè)中間件,在中間件process_response方法中對(duì)response進(jìn)行封裝
  defprocess_response(self,request,response):
  response["Content-Type"]="application/json"#響應(yīng)信息的內(nèi)容格式
  response["Access-Control-Allow-Origin"]="*"#允許跨域請(qǐng)求的源地址,*表示:允許所有地址
  response["Access-Control-Allow-Methods"]="POST,GET,OPTIONS"#允許跨域請(qǐng)求的具體方法
  response["Access-Control-Max-Age"]="1000"#用來指定本次預(yù)檢請(qǐng)求的有效期,單位為秒,,在此期間不用發(fā)出另一條預(yù)檢請(qǐng)求。
  response["Access-Control-Allow-Headers"]="*"
  returnresponse

  跨域請(qǐng)求進(jìn)行步驟為


  1、電腦瀏覽器會(huì)初次先傳送options要求了解后面是不是準(zhǔn)許跨域請(qǐng)求,后面查看授權(quán)管理中是否存在這倆網(wǎng)站域名


  2、如果網(wǎng)站域名在授權(quán)管理中即在回應(yīng)結(jié)論中告之電腦瀏覽器準(zhǔn)許跨域請(qǐng)求


  3、電腦瀏覽器再次傳送post要求,帶上賬號(hào)登錄數(shù)據(jù)信息到后面,進(jìn)行登錄驗(yàn)證實(shí)際操作


  綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/130275.html

相關(guān)文章

  • javascript跨域

    摘要:實(shí)現(xiàn)跨域的原理通過方式請(qǐng)求載入并執(zhí)行一個(gè)文件,相當(dāng)于通過的形式的導(dǎo)入一個(gè)外部的方法語法該函數(shù)是簡寫的函數(shù),等價(jià)于在中,您可以通過使用形式的回調(diào)函數(shù)來加載其他網(wǎng)域的數(shù)據(jù),如。將自動(dòng)替換為正確的函數(shù)名,以執(zhí)行回調(diào)函數(shù)。 更多詳情見http://blog.zhangbing.club/Ja... 最近在項(xiàng)目開發(fā)的過程中遇到一些Javascript 跨域請(qǐng)求的問題,今天抽空對(duì)其進(jìn)行總結(jié)一下,以...

    PingCAP 評(píng)論0 收藏0
  • postMessage處理iframe 跨域問題

    摘要:四傳遞信息給父頁面參考跨域子頁面?zhèn)鹘o父頁面父頁面代碼崔渙測試父頁面參數(shù)中有屬性,就是父窗口發(fā)送過來的數(shù)據(jù)把父窗口發(fā)送過來的數(shù)據(jù)顯示在子窗口中。五簡單分析和安全問題傳送過來的信息如下圖,幾乎包含了所有應(yīng)該有的信息。 背景:由于同源策略存在,javascript的跨域一直都是一個(gè)棘手的問題。父頁面無法直接獲取iframe內(nèi)部的跨域資源;同時(shí),iframe內(nèi)部的跨域資源也無法將信息直接傳遞給...

    cooxer 評(píng)論0 收藏0
  • 那些年曾談起的跨域

    摘要:在中,在不同的域名下面進(jìn)行數(shù)據(jù)交互,就會(huì)遇到跨域問題,說到跨域首先要從同源說起,瀏覽器為了提供一種安全的運(yùn)行環(huán)境,各個(gè)瀏覽器廠商協(xié)定使用同源策略。在上面說過是不受同源策略限制的,但是出于安全原因,瀏覽器限制從腳本內(nèi)發(fā)起的跨源請(qǐng)求。 對(duì)于前端開發(fā)來說跨域應(yīng)該是最不陌生的問題了,無論是開發(fā)過程中還是在面試過程中都是一個(gè)經(jīng)常遇到的一個(gè)問題,在開發(fā)過程中遇到這個(gè)問題的話一般都是找后端同學(xué)去解決...

    galois 評(píng)論0 收藏0
  • 使用Spring Security中遇到的Preflight請(qǐng)求和跨域問題

    摘要:首先遇到的就是跨域問題,但是在攜帶請(qǐng)求過程中出現(xiàn)了服務(wù)端獲取不到情況。瀏覽器將請(qǐng)求分成兩類簡單請(qǐng)求和非簡單請(qǐng)求。而瀏覽器對(duì)這兩種請(qǐng)求的處理是不一樣的。 背景 在一個(gè)前后端分離開發(fā)的項(xiàng)目中,使用SpringSecurity做安全框架,用JWT來實(shí)現(xiàn)權(quán)限管理提升RESTful Api的安全性。首先遇到的就是跨域問題,但是在攜帶jwt請(qǐng)求過程中出現(xiàn)了服務(wù)端獲取不到j(luò)wt情況。 跨域問題 在開...

    shengguo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<