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实现斐波那契递归函数的方法
Sep 08 Python
使用Python发送各种形式的邮件的方法汇总
Nov 09 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
Jun 23 Python
django_orm查询性能优化方法
Aug 20 Python
Python编程深度学习计算库之numpy
Dec 28 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
opencv+python实现均值滤波
Feb 19 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
Feb 20 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
python简单实现最大似然估计&scipy库的使用详解
Apr 15 Python
详解分布式系统中如何用python实现Paxos
May 18 Python
一行Python命令实现批量加水印
Apr 07 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 的几个配置文件函数
2006/12/21 PHP
PHP如何抛出异常处理错误
2011/03/02 PHP
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
php递归函数中使用return的注意事项
2014/01/17 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
javascript禁用Tab键脚本实例
2013/11/22 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
2017/04/13 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
2017/08/31 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
[02:12]2015国际邀请赛 SHOWOPEN
2015/08/05 DOTA
python版大富翁源代码分享
2018/11/19 Python
利用python脚本如何简化jar操作命令
2019/02/24 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
Python面向对象封装操作案例详解 II
2020/01/02 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
Python+Django+MySQL实现基于Web版的增删改查的示例代码
2020/05/13 Python
css3实现文字扫光渐变动画效果的示例
2017/11/07 HTML / CSS
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
北美领先的牛仔品牌:Buffalo David Bitton
2017/05/22 全球购物
Rentalcars.com中国:世界上最大的在线汽车租赁服务
2019/08/22 全球购物
英国景点门票网站:attractiontix
2019/08/27 全球购物
前台接待的工作职责
2013/11/21 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
英文版辞职信
2015/02/28 职场文书
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android