欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在django中使用post方法時(shí),需要增加csrftoken的例子

 更新時(shí)間:2020年03月13日 14:33:08   作者:梓沂  
這篇文章主要介紹了在django中使用post方法時(shí),需要增加csrftoken的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

從百度查到在django中,使用post方法時(shí),需要先生成隨機(jī)碼,以防止CSRF(Cross-site request forgery)跨站請(qǐng)求偽造,并稍加修改:

注:這是一個(gè)js文件,需要引入到html模板中:<script src="/static/javascript/post_need_csrftoken.js"></script>

這樣做比使用{% csrf_token %}方便

$(function () {
  $.ajaxSetup({
    headers: { "X-CSRFToken": getCookie("csrftoken") }
  });
});


    // 為防止CSRF(Cross-site request forgery)跨站請(qǐng)求偽造,發(fā)post請(qǐng)求時(shí)需要在cookie中創(chuàng)建隨機(jī)碼
    function getCookie(name)
    {
      var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
      /*
        上面這句話相當(dāng)于:
      var arr;
      var reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
       */
      if(arr=document.cookie.match(reg))
        return decodeURI(arr[2]);  //ECMAScript v3 已從標(biāo)準(zhǔn)中刪除了 unescape() 函數(shù),并反對(duì)使用它,
                      // 因此應(yīng)該用 decodeURI() 和 decodeURIComponent() 取而代之。
      else
        return null;
    }

補(bǔ)充知識(shí):Django解決前端/客戶端POST失敗提示csrf_tokenxxx的問題

解決:把settings.py里把MIDDLEWARE中的

django.middleware.csrf.CsrfViewMiddleware

刪除掉就好了

如果你不想刪除,并且你是web端的話,在form表單里加一句 {%csrf_token%} 就好了

<form>
  {%csrf_token%}
  <!-- 其它代碼 -->
</form>

這個(gè)CRSF主要也是起一種保護(hù)驗(yàn)證的作用,看個(gè)人需要來(lái)保留吧

如果是安卓或者其它端,建議之間采取前者把那行代碼刪掉就行了

以上這篇在django中使用post方法時(shí),需要增加csrftoken的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論