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进行一些简单的自然语言处理的教程
Mar 31 Python
python3实现字符串的全排列的方法(无重复字符)
Jul 07 Python
Python文件常见操作实例分析【读写、遍历】
Dec 10 Python
Python基础之文件读取的讲解
Feb 16 Python
对python 通过ssh访问数据库的实例详解
Feb 19 Python
如何使用Python自动控制windows桌面
Jul 11 Python
基于python 微信小程序之获取已存在模板消息列表
Aug 05 Python
关于django 1.10 CSRF验证失败的解决方法
Aug 31 Python
Python递归及尾递归优化操作实例分析
Feb 01 Python
python3 sorted 如何实现自定义排序标准
Mar 12 Python
使用PyQt的QLabel组件实现选定目标框功能的方法示例
May 19 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
Dec 01 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利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
20个最新的jQuery插件
2012/01/13 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
Javascript中神奇的this
2016/01/20 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
JavaScript绑定事件监听函数的通用方法
2016/05/14 Javascript
深入理解jquery自定义动画animate()
2016/05/24 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
vue-openlayers实现地图坐标弹框效果
2020/09/24 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
anaconda如何查看并管理python环境
2019/07/05 Python
Python简易版停车管理系统
2019/08/12 Python
python for循环remove同一个list过程解析
2019/08/14 Python
python实现简单银行管理系统
2019/10/25 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
优秀信贷员先进事迹
2014/01/31 职场文书
高二政治教学反思
2014/02/01 职场文书
银行求职自荐信
2014/06/30 职场文书
党的群众路线对照检查材料
2014/08/27 职场文书
2014年控辍保学工作总结
2014/12/08 职场文书
认真学习保证书
2015/02/26 职场文书
行政人事专员岗位职责
2015/04/07 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
新娘婚礼致辞
2015/07/27 职场文书
关于教师节的广播稿
2015/08/19 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫
CSS中使用grid布局实现一套模板多种布局
2022/07/15 HTML / CSS