csrf在Vue中的应用


  • 前端Vue
  • 后端Django
  • 如何使用csrf?
    • 后端Django在settings.py中将注释掉的csrf中间件取消注释(如果之前注释过)
    • 'django.middleware.csrf.CsrfViewMiddleware',
    • 前端Vue的main.js中加上如下代码:
      import Axios from 'axios'
      
      let getCookie = function (cookie) {
          let reg = /csrftoken=([\w]+)[;]?/g
          return reg.exec(cookie)[1]
      
      }
      
      Axios.interceptors.request.use(
        function(config) {
          // 在post请求前统一添加X-CSRFToken的header信息
          let cookie = document.cookie;
          if(cookie && config.method == 'post'){
            config.headers['X-CSRFToken'] = getCookie(cookie);
          }
          return config;
        },
        function(error) {
          // Do something with request error
          return Promise.reject(error);
        });

       

    • 上面代码知识针对于post请求,如果是所有请求,那就多写几个if语句。
  • 非专业前端,自己总结的方法
  • 参考:https://www.cnblogs.com/horns/p/11077458.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM