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 eval函数的妙用
Nov 16 Python
Python实现进程同步和通信的方法
Jan 02 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
Python使用装饰器进行django开发实例代码
Feb 06 Python
Python批量发送post请求的实现代码
May 05 Python
Python图像处理之简单画板实现方法示例
Aug 30 Python
python脚本当作Linux中的服务启动实现方法
Jun 28 Python
使用Python实现跳一跳自动跳跃功能
Jul 10 Python
Python 调用 Windows API COM 新法
Aug 22 Python
Python装饰器结合递归原理解析
Jul 02 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
Jul 02 Python
解决Pytorch中关于model.eval的问题
May 22 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实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
自己写的php中文截取函数mb_strlen和mb_substr
2015/02/09 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
jquery显示和隐藏div特效实例
2013/02/27 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
浅析jquery ajax异步调用方法中不能给全局变量赋值的原因及解决方法
2014/01/10 Javascript
js隐式全局变量造成的bug示例代码
2014/04/22 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
jQuery实现的简单百分比进度条效果示例
2016/08/01 Javascript
图文详解JavaScript的原型对象及原型链
2016/08/02 Javascript
浅谈jquery高级方法描述与应用
2016/10/04 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
Python进阶_关于命名空间与作用域(详解)
2017/05/29 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
Python 修改列表中的元素方法
2018/06/26 Python
Python基于递归算法求最小公倍数和最大公约数示例
2018/07/27 Python
python进阶之自定义可迭代的类
2019/08/20 Python
pyftplib中文乱码问题解决方案
2020/01/11 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
Hotels.com越南:酒店预订
2019/10/29 全球购物
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
党员民主评议总结
2014/10/20 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python