【django】Forbidden (CSRF cookie not set.)

CSRF

表示django全局发送post请求均需要字符串验证

功能: 防止跨站请求伪造的功能

工作原理: 客户端访问服务器端,在服务器端正常返回给客户端数据的时候,而外返回给客户端一段字符串,等到客户端下次访问服务器端时,服务器端会到客户端查找先前返回的字符串,如果找到则继续,找不到就拒绝。

访问流程: 客户端-》URL路由系统 - 》 CSRF -》视图函数我这里要写的是一个内部使用的api接口,也不大会有 跨站请求伪造所以这里提供两个不是很推荐,但是非常简单的方式解决这个问题既然不需要 CSRF 这里我们就把CSRF检测关掉即可

方法一

在项目的setting.py中注释下列,全局禁用csrf

方法二

相关视图函数加修饰器,免除csrf验证

python 复制代码
from django.views.decorators.csrf import csrf_exempt
python 复制代码
@csrf_exempt
def view_func(...): ...
相关推荐
不良人天码星14 分钟前
Linux的基础指令和环境部署,项目部署实战(下)
linux·运维·服务器
火一线1 小时前
【ASP .NET Core】ASP .NET Core介绍
服务器·游戏·.netcore
EasyNVR2 小时前
基于WebRTC与AI大模型接入EasyRTC:打造轻量级、高实时、强互动的嵌入式音视频解决方案
运维·服务器·微信·小程序·webrtc·p2p·智能硬件
waves浪游2 小时前
Linux基本指令(上)
linux·运维·服务器
是北欢吆3 小时前
QQ登录测试用例报告
运维·服务器·测试用例
9毫米的幻想4 小时前
【Linux系统】—— 冯诺依曼体系结构与操作系统初理解
linux·运维·服务器·c语言·c++
硬件人某某某4 小时前
基于Django的手办交易平台~源码
后端·python·django
勤奋的凯尔森同学9 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
丁卯40410 小时前
Go语言中使用viper绑定结构体和yaml文件信息时,标签的使用
服务器·后端·golang
chengooooooo10 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库