我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Django 启用和禁用CSRF功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Django 启用和禁用CSRF功能

1.Django CSRF的原理

CSRF(Cross Site Request Forgery)也就是跨站请求伪造,实现的原理是CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页面对目标网站发起伪造用户操作的请求,达到攻击目的;

2.CSRF认证

  • 在项目的settings文件中有一个配置项MIDDLEWARE,表示默认Django启用csrf认证;
'django.middleware.csrf.CsrfViewMiddleware'
  • 当页面为form表单提交时,一般都需要在form标签中加上{% csrf_token %},如果第一次表单提交的时候带上了csrf_token服务器端就会认为这个是可信任的用户,所以如果第二次提交时form表单去掉csrf_token,但是浏览器请求时会带上之前表单第一次提交时中的csrf_token ,服务器端默认信任这个csrf_token
<form action="{% url 'users:image' %}" method="post" enctype="multipart/form-data">{#  <input type="file" name="upload" accept="image/gif, image/jpeg, image/png, image/jpg">#}    <input type="file" name="upload">    <input type="submit" value="提交">    {% csrf_token %}</form>
  • 如果在settings文件中将csrf的中间件注释,那么form表单提交,将不再需要csrf token认证;

3.CSRF局部禁用

  • 为了避免没有csrf token而产生的403的forbidden错误问题,通常使用django.views.decorators.csrf.csrf_exempt装饰器来修饰这个处理POST请求的View, 这种方式是CSRF局部禁用;
from django.views.generic import Viewfrom django.utils.decorators import method_decoratorfrom django.views.decorators.csrf import csrf_exemptclass CSRFTestView(View):    @method_decorator(csrf_exempt)    def dispatch(self, request, *args, **kwargs):        return super().dispatch(request, *args, **kwargs)    def post(self, request):        pass
  • 局部启用可以使用csrf_protect,需要先在settings文件注释CsrfViewMiddleware
from django.views.generic import Viewfrom django.utils.decorators import method_decoratorfrom django.views.decorators.csrf import csrf_protectclass CSRFTestView(View):    @method_decorator(csrf_protect)    def dispatch(self, request, *args, **kwargs):        return super().dispatch(request, *args, **kwargs)    def post(self, request):        pass
  • 如果需要禁用Django CSRF功能项目都是启用全局的CSRF中间件,针对局部的View进行禁用;

4.Postman

Postman是一种网页调试与发送网页http请求的chrome插件,可以用来很方便的模拟get、post、put、patch、delete、copy等多种方式的请求来调试接口;
postman可用作macOS,Windows和Linux操作系统的本机应用程序。Windows系统下安装postman只需要下载安装文件,然后运行安装程序就可以了;

Django 启用和禁用CSRF功能

Postman的下载地址:https://www.getpostman.com/downloads/

参考:https://www.9xkd.com/user/plan-view.html?id=1091380484

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Django 启用和禁用CSRF功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Django 启用和禁用CSRF功能

1.Django CSRF的原理CSRF(Cross Site Request Forgery)也就是跨站请求伪造,实现的原理是CSRF攻击者在用户已经登录目标网站之后,诱使用户访问一个攻击页面,利用目标网站对用户的信任,以用户身份在攻击页
2023-06-02

在WindowsVista中启用和禁用自动激活功能

在Windows Vista中,可以通过以下步骤启用或禁用自动激活功能:1. 点击“开始”按钮,然后选择“计算机”。2. 右键单击“计算机”图标,然后选择“属性”。3. 在系统属性窗口中,向下滚动到“Windows 激活”部分。4. 点击“
2023-09-13

Dreamweaver CS5启用和禁用样式表的功能介绍

本篇内容介绍了“Dreamweaver CS5启用和禁用样式表的功能介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在使用Dreamwea
2023-06-08

CentOS6.6如何禁用Ctrl+Alt+Del重启功能

这篇文章给大家分享的是有关CentOS6.6如何禁用Ctrl+Alt+Del重启功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。#CentOS6.6禁用Ctrl+Alt+Del重启功能#方法一: vi /etc
2023-06-10

Django—常用功能

索引        一、静态文件        二、中间件        三、Admin站点          3.1 列表页选项          3.2 编辑页选项          3.3 重写模板        四、上传图片    
2023-01-31

vbscript如何禁用和启用fso

小编给大家分享一下vbscript如何禁用和启用fso,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!scrrun.dll scrrun - scrrun.dll
2023-06-08

如何启用和禁用Microsoft Update

要启用或禁用Microsoft Update,可以按照以下步骤操作:1. 打开控制面板。在Windows操作系统中,可以通过在开始菜单中搜索“控制面板”来找到它。2. 在控制面板中,选择“Windows Update”或“Windows安全
2023-09-14

ORACLE 禁用和启用外键约束

# 禁用alter table table_name disable constraint constraint_name; # 批量禁用select "alter table "||table_name||" disable constraint "||co
ORACLE 禁用和启用外键约束
2016-07-23

Linux中怎么启用和禁用网卡

这篇文章主要讲解了“Linux中怎么启用和禁用网卡”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中怎么启用和禁用网卡”吧!你可能会根据你的需要执行以下命令。我会在这里列举一些你会用
2023-06-16

将Windows 7中的AeroSnap功能禁用

和超级任务栏一样,Windows 7中的AeropythonSnap功能也是一直饱受争议。很多人抱怨有时候一不留心窗口就最大化了,尤其是像QQ这种须要拖到屏幕边缘自动潜藏的,很容易往上一js拖,刷,就最大化了。那么,如果实在须php要者功能
2023-05-24

Windows如何禁用和重新启用休眠

要禁用或重新启用Windows的休眠功能,您可以按照以下步骤进行操作:禁用休眠功能:1. 打开控制面板:点击开始菜单,然后选择“控制面板”。2. 在控制面板中,选择“硬件和声音”。3. 在“硬件和声音”页面中,选择“电源选项”。4. 在“电
2023-09-14

win8系统(讲述人)功能的启动、关闭与禁用方法

“讲述人”(Narrator)是微软操作系统为视力欠佳用户提供的人性化服务,能够将文字转换为语音,帮助用户读取显示在屏幕上的内容,比如活动窗口、菜单选项或文本等等。WinXP、Win7和最新Win8系统都提供了这项功
2022-06-04

Win8如何开启文件夹复选框功能默认是禁用的

Win8系统中,默认文件夹复选框功能是禁用的。因此喜欢复选框功能的朋友就要自己开启这项功能了,不过很多刚接触编程客栈WIn8的朋友并不知道从哪儿开启,下面就详细为大家介绍Win8开启复选框功能的方法,一起来看看吧。1、首先打开“
2023-06-07

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录