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编写暴力破解FTP密码小工具
Nov 19 Python
浅谈Python的Django框架中的缓存控制
Jul 24 Python
Python多线程爬虫简单示例
Mar 04 Python
Windows安装Python、pip、easy_install的方法
Mar 05 Python
Python书单 不将就
Jul 11 Python
利用Hyperic调用Python实现进程守护
Jan 02 Python
超简单使用Python换脸实例
Mar 27 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
Pytorch反向求导更新网络参数的方法
Aug 17 Python
django框架创建应用操作示例
Sep 26 Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 Python
利用Python判断整数是否是回文数的3种方法总结
Jul 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 include的妙用,实现路径加密
2008/07/29 PHP
php学习之变量的使用
2011/05/29 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
js 获取Listbox选择的值的代码
2010/04/15 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
document.forms用法示例介绍
2014/06/26 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
如何解决js函数防抖、节流出现的问题
2019/06/17 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
2020/07/11 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
Python魔术方法详解
2015/02/14 Python
python制作最美应用的爬虫
2015/10/28 Python
使用Python实现博客上进行自动翻页
2017/08/23 Python
Windows下Anaconda2安装NLTK教程
2018/09/19 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
使用python接受tgam的脑波数据实例
2020/04/09 Python
python实现计算器简易版
2020/12/17 Python
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
解释i节点在文件系统中的作用
2013/11/26 面试题
给实习单位的感谢信
2014/02/01 职场文书
收银员岗位职责
2014/02/07 职场文书
爱耳日活动总结
2014/04/30 职场文书
公司2014年度工作总结
2014/12/10 职场文书
Android中的Launch Mode详情
2022/06/05 Java/Android