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的__builtin__模块中的一些要点知识
May 02 Python
python清除字符串里非字母字符的方法
Jul 02 Python
Python 类的继承实例详解
Mar 25 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
在python中利用opencv简单做图片比对的方法
Jan 24 Python
python flask安装和命令详解
Apr 02 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
May 10 Python
Python3+Pycharm+PyQt5环境搭建步骤图文详解
May 29 Python
对于Python深浅拷贝的理解
Jul 29 Python
django-rest-swagger对API接口注释的方法
Aug 29 Python
基于pytorch中的Sequential用法说明
Jun 24 Python
Python使用Opencv打开笔记本电脑摄像头报错解问题及解决
Jun 21 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
JAVA/JSP学习系列之七
2006/10/09 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
PHP中header用法小结
2016/05/23 PHP
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
基于Jquery的仿照flash放大图片效果代码
2011/03/16 Javascript
Javascript Throttle & Debounce应用介绍
2013/03/19 Javascript
javascript动态的改变IFrame的高度实现自动伸展
2013/10/12 Javascript
Jquery 复选框取值兼容FF和IE8(测试有效)
2013/10/29 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
Javascript 浮点运算精度问题分析与解决
2014/03/26 Javascript
Javascript函数的参数
2015/07/16 Javascript
javascript数据结构之双链表插入排序实例详解
2015/11/25 Javascript
详解webpack 多页面/入口支持&公共组件单独打包
2017/06/29 Javascript
详解如何使用PM2将Node.js的集群变得更加容易
2017/11/15 Javascript
详解JS模块导入导出
2017/12/20 Javascript
Vue入门之数据绑定(小结)
2018/01/08 Javascript
Array数组对象中的forEach、map、filter及reduce详析
2018/08/02 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
Python采集腾讯新闻实例
2014/07/10 Python
python中Flask框架简单入门实例
2015/03/21 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
详解Python中打乱列表顺序random.shuffle()的使用方法
2019/11/11 Python
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
Michael Kors英国官网:美国奢侈品品牌
2019/11/13 全球购物
毕业生自我鉴定范文
2013/11/08 职场文书
学术会议主持词
2014/03/17 职场文书
博士生专家推荐信
2014/09/26 职场文书
普通党员四风问题对照检查材料
2014/09/27 职场文书
边城读书笔记
2015/06/29 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
大学生创业计划书
2019/06/24 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL
postgresql如何找到表中重复数据的行并删除
2023/05/08 MySQL