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实现查询IP地址所在地
Mar 29 Python
python删除指定类型(或非指定)的文件实例详解
Jul 06 Python
Python 获得命令行参数的方法(推荐)
Jan 24 Python
django js实现部分页面刷新的示例代码
May 28 Python
无法使用pip命令安装python第三方库的原因及解决方法
Jun 12 Python
Python文件监听工具pyinotify与watchdog实例
Oct 15 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
python list数据等间隔抽取并新建list存储的例子
Nov 27 Python
python如何获取apk的packagename和activity
Jan 10 Python
Python批量处理csv并保存过程解析
May 16 Python
python 解决mysql where in 对列表(list,,array)问题
Jun 06 Python
如何对python的字典进行排序
Jun 19 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文件操作方法汇总
2015/07/01 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
比Jquery的document.ready更快的方法
2010/04/28 Javascript
关于COOKIE个数与大小的问题
2011/01/17 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
2013/06/09 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
jquery中done和then的区别(详解)
2017/12/19 jQuery
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
ajax jquery实现页面某一个div的刷新效果
2021/03/04 jQuery
python基础教程之数字处理(math)模块详解
2014/03/25 Python
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
Python实现将doc转化pdf格式文档的方法
2018/01/19 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
python如何查看网页代码
2020/06/07 Python
Django视图、传参和forms验证操作
2020/07/15 Python
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
财务与信息服务专业推荐信
2013/11/28 职场文书
微信营销策划方案
2014/02/24 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
美容院合作经营协议书
2014/10/10 职场文书
机关党员四风问题个人整改措施
2014/10/26 职场文书
歼十出击观后感
2015/06/11 职场文书
公司处罚决定书
2015/06/24 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
html中两种获取标签内的值的方法
2022/06/16 jQuery