【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(...): ...
相关推荐
Jewel Q16 分钟前
防火墙NAT策略处理流程
运维·服务器·网络
失重外太空啦20 分钟前
NFS服务器的搭建
运维·服务器·网络
矮油0_o21 分钟前
15.套接字和标准I/O
服务器·c语言·网络·网络编程·socket
利刃大大23 分钟前
【高并发服务器】十二、LoopThreadPool线程池管理模块
服务器·c++·项目
埃伊蟹黄面38 分钟前
告别手动编译:用Makefile自动化你的Linux项目
linux·服务器
Once_day43 分钟前
Linux错误(7)接口处于Down状态不通告IPv6地址变更事件
linux·运维·服务器
任风雨1 小时前
15.1.2.linux常见操作用例
linux·服务器
攀小黑1 小时前
docker 容器内nacos(若依plus打包)连接另一台内网服务器显示数据库连接失败
服务器·数据库·docker
不会写代码的ys1 小时前
仿RabbitMQ实现消息队列(二)-安装
服务器·分布式·rabbitmq
lifejump2 小时前
端口隔离技术的实验与验证(eNSP)
linux·服务器·网络