【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(...): ...
相关推荐
不想学习!!23 分钟前
linux之进程控制
java·linux·服务器
緣起緣落2 小时前
Linux(CentOS 7) 部署 redis 集群
linux·运维·服务器·redis·centos·集成学习
无名之逆2 小时前
[特殊字符] Hyperlane 框架:高性能、灵活、易用的 Rust 微服务解决方案
运维·服务器·开发语言·数据库·后端·微服务·rust
南城猿3 小时前
Pycharm中Django框架使用{% load static %}模板,HTML报错
ide·pycharm·django
无名之逆3 小时前
探索轻量高性能的 Rust HTTP 服务器框架 —— Hyperlane
服务器·开发语言·windows·后端·http·rust
zyx没烦恼4 小时前
Linux 进程信号
linux·运维·服务器·开发语言·c++
佬乔4 小时前
xml中配置AOP织入
java·服务器·前端
Hoxy.R4 小时前
什么是 CSSD?
服务器·开发语言·oracle
Arbori_262154 小时前
linux paste 命令
linux·运维·服务器
GalaxyPokemon4 小时前
Muduo网络库实现 [十三] - HttpRequest模块
linux·服务器·网络·c++