【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(...): ...
相关推荐
それども5 小时前
Gradle 构建疑难杂症 Could not find netty-transport-native-epoll-linux-aarch_64.ja
java·服务器·gradle·maven
NightReader6 小时前
CPU 高使用率,怎么降下来
运维·服务器
开开心心就好7 小时前
免费流畅的远程控制实用工具
linux·运维·服务器·网络·智能手机·excel
代码熬夜敲Q9 小时前
ENSP 网络工程实验
linux·运维·服务器
銳昊城9 小时前
项目七: 配置与管理Web服务器(2) C2
运维·服务器
Muyuan19989 小时前
30.通过Claude code做项目系统测试
运维·服务器·人工智能·fastapi
yyuuuzz9 小时前
aws的核心概念与常见使用场景
运维·服务器·网络·云计算·aws
赵药师10 小时前
dpkg: warning: files list file for package ‘libselinux1:amd64‘ missing;
linux·运维·服务器
zt1985q10 小时前
本地部署开源内容管理系统 Typemill 并实现外部访问
运维·服务器·开源
ElevenS_it18810 小时前
网络没完全断但业务已经受影响:「灰色故障」排查的完整方法论
运维·服务器·网络