当前位置: 代码迷 >> 综合 >> 处理Django的csrf跨站请求保护机制
  详细解决方案

处理Django的csrf跨站请求保护机制

热度:10   发布时间:2024-01-30 07:58:07.0

三种方法:

方法一:在form表单中加入{% csrf_token %},达到保护要求避免这个机制生效,csrf_token的作用就是通过渲染,将token替换为一个input,value等于随机数token的标签,然后提交,提交的时候会提交随机数token,然后在服务器端进行token验证。如:

<form action="" method="post" enctype="multipart/form-data">   {% csrf_token %}       <div align="center">        <input type="file" name="use_head_photo" class="btn btn-default" ></div>    <input type="submit"class="btn btn-default" value="提交" name="submit_user_photo">
</form>

方法二:为视图函数添加@csrf_exempt 修饰,取消csrf_token验证,失效机制

方法三:setting.py中在MIDDLEWAY中禁用csrf一项(django.middleware.csrf.CsrfViewMiddleware)来禁用中间件,注意这个方法是全局禁用