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 相关文章推荐
深入理解Django的中间件middleware
Mar 14 Python
django认证系统实现自定义权限管理的方法
Jul 16 Python
python实现登录密码重置简易操作代码
Aug 14 Python
Python多线程模块Threading用法示例小结
Nov 09 Python
用Python实现校园通知更新提醒功能
Nov 23 Python
python 实现快速生成连续、随机字母列表
Nov 28 Python
Python dict和defaultdict使用实例解析
Mar 12 Python
Python实现发票自动校核微信机器人的方法
May 22 Python
python 用pandas实现数据透视表功能
Dec 21 Python
pytorch查看网络参数显存占用量等操作
May 12 Python
pytorch 如何使用float64训练
May 24 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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转义Json里的特殊字符的函数
2015/06/08 PHP
php实现通过ftp上传文件
2015/06/19 PHP
Symfony2安装第三方Bundles实例详解
2016/02/04 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
html中table数据排序的js代码
2011/08/09 Javascript
JavaScript入门之基本函数详解
2011/10/21 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
JS实现控制表格内指定单元格内容对齐的方法
2015/03/30 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
jQuery处理XML文件的几种方法
2016/06/14 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
详解angular如何调用HTML字符串的方法
2018/06/30 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
2018/09/26 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
Pandas:DataFrame对象的基础操作方法
2018/06/07 Python
python write无法写入文件的解决方法
2019/01/23 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
pandas DataFrame的修改方法(值、列、索引)
2019/08/02 Python
python实现画出e指数函数的图像
2019/11/21 Python
Python虚拟环境venv用法详解
2020/05/25 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
关于HTML5的22个初级技巧(图文教程)
2012/06/21 HTML / CSS
美国电视购物HSN官网:HSN
2016/09/07 全球购物
SCHIESSER荷兰官方网站:德国内衣专家
2020/10/09 全球购物
飞利信loadrunner和软件测试笔试题
2012/09/22 面试题
家居设计专业个人自荐信范文
2013/11/26 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
绿色环保标语
2014/06/12 职场文书
销售人员管理制度
2015/08/06 职场文书
世界文化遗产导游词
2019/08/07 职场文书
导游词之无锡梅园
2019/11/28 职场文书