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中encode()方法的使用简介
May 18 Python
Python元组操作实例分析【创建、赋值、更新、删除等】
Jul 24 Python
pytorch cnn 识别手写的字实现自建图片数据
May 20 Python
替换python字典中的key值方法
Jul 06 Python
使用Python开发SQLite代理服务器的方法
Dec 07 Python
Python Django的安装配置教程图文详解
Jul 17 Python
Python实现平行坐标图的绘制(plotly)方式
Nov 22 Python
基于Pycharm加载多个项目过程图解
Jan 19 Python
浅谈Python里面None True False之间的区别
Jul 09 Python
Docker如何部署Python项目的实现详解
Oct 26 Python
python用分数表示矩阵的方法实例
Jan 11 Python
使用pandas模块实现数据的标准化操作
May 14 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 版获取重定向后的地址(代码)
2013/06/26 PHP
php 字符串压缩方法比较示例
2014/01/23 PHP
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
最棒的Angular2表格控件
2016/08/10 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
JavaScript登录验证基础教程
2017/11/01 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
微信小程序 image组件遇到的问题
2019/05/28 Javascript
JS 自执行函数原理及用法
2019/08/05 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
JS实现纸牌发牌动画
2021/01/19 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python中的装饰器详解
2015/04/13 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
python操作cfg配置文件方式
2019/12/22 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
鼠标滚轮事件和Mac触控板双指事件
2019/12/23 HTML / CSS
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
初中三好学生自我鉴定
2014/04/07 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
保证书格式
2015/01/16 职场文书
长城导游词300字
2015/01/30 职场文书
法学专业求职信范文
2015/03/19 职场文书
中学教代会开幕词
2016/03/04 职场文书
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python