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 相关文章推荐
django model去掉unique_together报错的解决方案
Oct 18 Python
Python机器学习之SVM支持向量机
Dec 27 Python
Python 机器学习库 NumPy入门教程
Apr 19 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
Python走楼梯问题解决方法示例
Jul 25 Python
Tornado Web Server框架编写简易Python服务器
Jul 28 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
解决Python安装时报缺少DLL问题【两种解决方法】
Jul 15 Python
TensorFLow 数学运算的示例代码
Apr 21 Python
python在linux环境下安装skimage的示例代码
Oct 14 Python
python opencv旋转图片的使用方法
Jun 04 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
PHP怎样调用MSSQL的存储过程
2006/10/09 PHP
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
php自定义错误处理用法实例
2015/03/20 PHP
php控制文件下载速度的方法
2015/03/24 PHP
JQuery1.4+ Ajax IE8 内存泄漏问题
2010/10/15 Javascript
javascript获取作用在元素上面的样式属性代码
2012/09/20 Javascript
IE8的JavaScript点击事件(onclick)不兼容的解决方法
2013/11/22 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
jQuery学习笔记之 Ajax操作篇(一) - 数据加载
2014/06/23 Javascript
angularjs的一些优化小技巧
2014/12/06 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
AngularJS 所有版本下载地址
2016/09/14 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
2017/12/18 Javascript
vue通过点击事件读取音频文件的方法
2018/05/30 Javascript
Element输入框带历史查询记录的实现示例
2019/01/15 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
使用python画个小猪佩奇的示例代码
2018/06/06 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
Python日期时间Time模块实例详解
2019/04/15 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
python selenium登录豆瓣网过程解析
2019/08/10 Python
pycharm运行scrapy过程图解
2019/11/22 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
浅谈keras.callbacks设置模型保存策略
2020/06/18 Python
西班牙语在线票务市场:SuperBoletería
2019/06/10 全球购物
港湾网络笔试题
2014/04/19 面试题
怎样自定义一个异常类
2016/09/27 面试题
竞选班长演讲稿400字
2014/08/22 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
解决golang结构体tag编译错误的问题
2021/05/02 Golang
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
Nginx源码编译安装过程记录
2021/11/17 Servers
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
VUE使用draggable实现组件拖拽
2022/04/06 Vue.js