【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(...): ...
相关推荐
践行见远4 小时前
django之视图
python·django·drf
A5rZ5 小时前
CSRF攻击 + 观测iframe加载时间利用时间响应差异侧信道攻击 -- reelfreaks DefCamp 2024
网络安全·csrf
1024小神6 小时前
tauri2项目使用sidcar嵌入可执行文件并使用命令行调用
linux·运维·服务器
AI风老师7 小时前
2、ubuntu系统配置OpenSSH | 使用vscode或pycharm远程连接
linux·运维·服务器·ssh
网络小白不怕黑7 小时前
Python Socket编程:实现简单的客户端-服务器通信
服务器·网络·python
PatrickYao04227 小时前
想要建站但没有服务器?雨云RCA,免服务器即可搭建完整网站!!!
运维·服务器·alist·云应用·无服务器部署
不是吧这都有重名8 小时前
利用systemd启动部署在服务器上的web应用
运维·服务器·前端
传知摩尔狮9 小时前
Linux 中断源码性能分析实战:从内核深处榨取每一丝性能
linux·运维·服务器
开***能10 小时前
包装设备跨系统兼容:Profinet转Modbus TCP的热收缩包装机改造方案
服务器·网络·tcp/ip
无敌的牛11 小时前
Linux梦开始的地方
linux·运维·服务器