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中实现从目录中过滤出指定文件类型的文件
Feb 02 Python
Python封装shell命令实例分析
May 05 Python
python相似模块用例
Mar 04 Python
python对DICOM图像的读取方法详解
Jul 17 Python
python opencv实现任意角度的透视变换实例代码
Jan 12 Python
Python3.5常见内置方法参数用法实例详解
Apr 29 Python
Tensorflow的常用矩阵生成方式
Jan 04 Python
tensorflow:指定gpu 限制使用量百分比,设置最小使用量的实现
Feb 06 Python
Python更新所有已安装包的操作
Feb 13 Python
keras多显卡训练方式
Jun 10 Python
Keras: model实现固定部分layer,训练部分layer操作
Jun 28 Python
如何在python中处理配置文件代码实例
Sep 27 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 静态变量与自定义常量的使用方法
2010/01/26 PHP
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
JSON.parse 解析字符串出错的解决方法
2010/07/08 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
JavaScript中setMonth()方法的使用详解
2015/06/11 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
JavaScript实现的浮动层框架用法实例分析
2015/10/10 Javascript
jQuery学习笔记之回调函数
2016/08/15 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
js时间戳格式化成日期格式的多种方法介绍
2017/02/16 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
在vue项目中,使用axios跨域处理
2018/03/07 Javascript
基于Taro的微信小程序模板消息-获取formId功能模块封装实践
2019/07/15 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
pandas 将索引值相加的方法
2018/11/15 Python
python3.6下Numpy库下载与安装图文教程
2019/04/02 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
Brother加拿大官网:打印机、贴标机、缝纫机
2019/10/09 全球购物
美国健康和保健平台:healtop
2020/07/02 全球购物
中国梦演讲稿5分钟
2014/08/19 职场文书
法人授权委托书范本
2014/09/17 职场文书
市场部经理岗位职责
2015/02/02 职场文书