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中多线程thread与threading的实现方法
Aug 18 Python
在DigitalOcean的服务器上部署flaskblog应用
Dec 19 Python
Python设计模式编程中解释器模式的简单程序示例分享
Mar 02 Python
python 判断是否为正小数和正整数的实例
Jul 23 Python
Django实战之用户认证(初始配置)
Jul 16 Python
python 利用文件锁单例执行脚本的方法
Feb 19 Python
利用OpenCV和Python实现查找图片差异
Dec 19 Python
Django密码存储策略分析
Jan 09 Python
python自动脚本的pyautogui入门学习
Apr 01 Python
django日志默认打印request请求信息的方法示例
May 17 Python
Python修改DBF文件指定列
Dec 19 Python
python实现ROA算子边缘检测算法
Apr 05 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排序算法的复习和总结
2012/02/15 PHP
php 使用array函数实现分页
2015/02/13 PHP
php中文乱码问题的终极解决方案汇总
2017/08/01 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
javascript 处理事件绑定的一些兼容写法
2009/12/24 Javascript
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
jquery 表格分页等操作实现代码(pagedown,pageup)
2010/04/11 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
基于jquery的兼容各种浏览器的iframe自适应高度的脚本
2010/08/13 Javascript
Function.prototype.call.apply结合用法分析示例
2013/07/03 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
js 文字超出长度用省略号代替,鼠标悬停并以悬浮框显示实例
2016/12/06 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
php 修改密码实现代码
2017/05/24 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
微信小程序实现留言板(Storage)
2018/11/02 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
[05:08]2014DOTA2国际邀请赛 Hao专访复仇的胜利很爽
2014/07/15 DOTA
Windows安装Python、pip、easy_install的方法
2017/03/05 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
python实现批量转换图片为黑白
2020/06/16 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
详解python polyscope库的安装和例程
2020/11/13 Python
CSS实现聊天气泡效果
2020/04/26 HTML / CSS
Nike爱尔兰官方网站:Nike.com (IE)
2018/03/12 全球购物
最新大学职业规划书范文
2013/12/30 职场文书
《童趣》教学反思
2014/02/19 职场文书
推普周国旗下讲话稿
2014/09/21 职场文书
企业团队精神心得体会
2016/01/19 职场文书
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫