【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(...): ...
相关推荐
RisunJan2 分钟前
Linux命令-lp(打印文件或修改排队的打印任务)
linux·运维·服务器
一只自律的鸡6 分钟前
【Linux驱动】环境搭建和开发板操作 上篇
linux·服务器
云和数据.ChenGuang16 分钟前
python 面向对象基础入门
开发语言·前端·python·django·flask
浩浩测试一下17 分钟前
内网---> ForceChangePassword 权限滥用
java·服务器·网络·安全·web安全·网络安全·系统安全
Yana.nice17 分钟前
chrony中“prefer”指定首选服务器
运维·服务器
小猪写代码22 分钟前
Linux核心梳理
linux·运维·服务器
Cx330❀22 分钟前
深入理解 Linux 基础 IO:从 C 库到系统调用的完整剖析
linux·运维·服务器·c语言·数据库·人工智能·科技
小草cys23 分钟前
【未解决】华为鲲鹏920B服务器Ubuntu25下安装mindspore(搭载昇腾Ascend 910B AI 芯片
运维·服务器
HWL567925 分钟前
控制浏览器如何预先加载视频资源
java·服务器·前端
swaveye906025 分钟前
轻量服务器CentOS 7.9 64位 设置允许防火墙/HTTP/HTTPS访问
运维·服务器·centos