Django保护敏感信息的方法示例


Posted in Python onMay 09, 2019

Django在安全性上表现出色,但是在日常开发中难免会有没有注意到的地方,今天我们就讲一个非常有用的技巧。

千万不要在正式环境中设置DEBUG=True,除非你想跑路

sensitive_variables

众所周知Django的发生异常的时候会有错误信息,弄不好,不怀好意的人就通过这些不经意的信息,提出到铭感信息,我们可以使用sensitive_variables处理敏感信息。

from django.views.decorators.debug import sensitive_variables

@sensitive_variables('user', 'password', 'other')
def process_info(user):
  password = user.pass_word
  other = user.credit_card_number
  name = user.name
  ...

这样在发生错误的时候Django会做脱敏处理。

保护所有变量

@sensitive_variables()
def my_function():
  ...

注意:如果有多个装饰器,需要把这个放在第一个。

处理post的sensitive_post_parameters

sensitive_post_parameters 和上面的类似只是它是用来处理post请求的。

from django.views.decorators.debug import sensitive_post_parameters

@sensitive_post_parameters('pass_word', 'credit_card_number')
def record_user_profile(request):
  UserProfile.create(
    user=request.user,
    password=request.POST['pass_word'],
    credit_card=request.POST['credit_card_number'],
    name=request.POST['name'],
  )

或者处理所有参数

@sensitive_post_parameters()
def my_view(request):
  ...

更多信息请阅读: 官方文档

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python list排序的两种方法及实例讲解
Mar 20 Python
Python基于time模块求程序运行时间的方法
Sep 18 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
python实现支付宝当面付(扫码支付)功能
May 30 Python
Python快速查找list中相同部分的方法
Jun 27 Python
对django的User模型和四种扩展/重写方法小结
Aug 17 Python
PyTorch的自适应池化Adaptive Pooling实例
Jan 03 Python
pytorch 常用线性函数详解
Jan 15 Python
python 利用zmail库发送邮件
Sep 11 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
python读写数据读写csv文件(pandas用法)
Dec 14 Python
详解pandas apply 并行处理的几种方法
Feb 24 Python
Python基于scipy实现信号滤波功能
May 08 #Python
python实现抽奖小程序
Apr 15 #Python
Python常见数据类型转换操作示例
May 08 #Python
Python数据类型之Number数字操作实例详解
May 08 #Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 #Python
Python数据类型之String字符串实例详解
May 08 #Python
Python数据类型之List列表实例详解
May 08 #Python
You might like
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
phpmyadmin操作流程
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
php生成html文件方法总结
2014/12/01 PHP
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
Laravel学习教程之request validation的编写
2017/10/25 PHP
Jquery实现带动画效果的经典二级导航菜单
2013/03/22 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
js实现图片和链接文字同步切换特效的方法
2015/02/20 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
详解用async/await来处理异步
2019/08/28 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
vue实现页面切换滑动效果
2020/06/29 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
python计数排序和基数排序算法实例
2014/04/25 Python
python中遍历文件的3个方法
2014/09/02 Python
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
对Tensorflow中的变量初始化函数详解
2018/07/27 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
python基于opencv检测程序运行效率
2019/12/28 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
学校安全管理责任书
2014/07/23 职场文书
人事专员岗位职责说明书
2014/07/30 职场文书
24句精辟的现实社会语录,句句扎心,道尽人性
2019/08/29 职场文书
Mysql事务索引知识汇总
2022/03/17 MySQL