Django保护敏感信息的方法示例
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): ...
更多信息请阅读: 官方文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
C#隐藏手机号、邮箱等敏感信息的实现方法
Intro 做项目的时候,页面上有一些敏感信息,需要用"*"隐藏一些比较重要的信息,于是打算写一个通用的方法. Let's do it ! Method 1:指定左右字符数量 Method 1.1 中间的*的个数和实际长度有关 /// <summary> /// 隐藏敏感信息 /// </summary> /// <param name="info">信息实体</param> /// <param name=&q
-
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
注:添加球员的功能无指定技术要求,添加球员的页面也无具体样式要求. 1.实现上图页面所有元素,页面布局规整,跟上图效果一致 2.实现文案显示,按效果显示 3.实现查询,实现查询敏感词过滤,实现查询后列表变化 4.实现倒序,实现正序,下拉列表排序效果都实现 5.按钮背景一致,按钮样式 6.实现添加球员页面,添加球员页面样式,添加球员功能,添加球员必填项判断,添加完球员后能显示在表格内,已存在球员判重. 7.表格样式跟上图样式一致 代码: <!DOCTYPE html> <html lang
-
Java 敏感信息加密处理
一.敏感信息加密处理我们要实现什么 系统往往需要将用户敏感信息进行加密,不同的敏感信息加密要求不同. 比如,密码的加密,我们往往不需要是可逆的.用户输入密码后,通过系统的加密规则,编码后直接比对加密存储的密码,获得比对结果即可证明用户登录信息合法性. 然后,有时我们为了防止被脱库导致的数据泄漏,不得不对一些敏感信息(比如:身份证号.手机号)进行加密.这样的数据不仅要求加密,还需要在展示及其他业务场景下完全显示,或者掩码显示,这就需要我们对加密的内容进行解密. 二.敏感信息加密处理我做了些什么 近
-
jsp隐藏关键敏感字段信息只显示前后字段的示例
今天写jsp页面,要求对字段中间部分隐藏,只显示前几位和后几位.搜了一下发现网上大都是隐藏前面指定字段,或者是利用正则表达式隐藏手机号或是身份证.这样的话必须预先知道字段长度,而我不想知道长度只显示前3位和后4位. 没办法,谁让我需要隐藏的字段长度未定呢. 解决方案:1.如果知道字段长度的话可以用正则表达式或是jsp标签库里的fn函数 正则表达式 phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2"); 152**
-
如何使用“PHP” 彩蛋进行敏感信息获取
关于"PHP彩蛋"的说法也许很多老PHPer已经都知道或听说了,好像是早在PHP4版本的时候就有彩蛋了,挺好玩儿的,可能近年来逐渐被人们遗忘了,其实彩蛋功能在PHP脚本引擎默认情况下是开启. 写个phpinfo();然后访问,再加上以下的GET值即可查阅下面就用Discuz官方论坛做一下测试:http://www.discuz.net/?=PHPE9568F34-D428-11d2-A769-00AA001ACF42http://www.discuz.net/?=PHPE9568F35
-
Cisco 路由器在线帮助漏洞泄漏敏感信息
受影响的系统: Cisco IOS 9.14 Cisco IOS 12.0.7 Cisco IOS 12.0.6 Cisco IOS 12.0.5 Cisco IOS 12.0.4T Cisco IOS 12.0.4S Cisco IOS 12.0.4 Cisco IOS 12.0.3T2 Cisco IOS 12.0.2XG Cisco IOS 12.0.2XF Cisco IOS 12.0.2XD Cisco IOS 12.0.2XC Cisco IOS 12.0.2 Cisco IOS 1
-
Django保护敏感信息的方法示例
Django在安全性上表现出色,但是在日常开发中难免会有没有注意到的地方,今天我们就讲一个非常有用的技巧. 千万不要在正式环境中设置DEBUG=True,除非你想跑路 sensitive_variables 众所周知Django的发生异常的时候会有错误信息,弄不好,不怀好意的人就通过这些不经意的信息,提出到铭感信息,我们可以使用sensitive_variables处理敏感信息. from django.views.decorators.debug import sensitive_variab
-
django上传图片并生成缩略图方法示例
django 处理上传图片生成缩略图首先要注意form标签上必须有enctype="multipart/form-data"属性,另外要装好PIL库, 然后就很简单了,如下是实例代码: upload.html <div id="uploader"> <form id="upload" enctype="multipart/form-data" action="/ajax/upload/"
-
Python脚本读取Consul配置信息的方法示例
先来说一下背景,为什么要写脚本去读Consul的配置信息呢?Consul是啥呢?consul是google开源的一个使用go语言开发的服务发现.配置管理中心服务.目前公司用的是这个东西去管理项目上的一些配置信息.公司的环境是通过docker镜像的方式去部署的,镜像是通过rancher去进行管理的.这一套东西面临的一个问题是:服务每次更新之后,服务对应的ip地址是动态变化的.每次需要使用swagger去测接口的时候,都要去rancher上去重新找新的ip地址,比较麻烦.正好呢,最近部门在考虑准备做
-
Java实现获取cpu、内存、硬盘、网络等信息的方法示例
本文实例讲述了Java实现获取cpu.内存.硬盘.网络等信息的方法.分享给大家供大家参考,具体如下: 1. 下载安装sigar-1.6.4.zip 使用java自带的包获取系统数据,容易找不到包,尤其是内存信息不够准确,所以选择使用sigar获取系统信息. 下载地址:http://sourceforge.net/projects/sigar/files/latest/download?source=files 或点击此处本站下载. 解压压缩包,将lib下sigar.jar导入eclipse的CL
-
iOS中利用KeyChain保存用户信息的方法示例
前言 说到保存用户名和密码,以前有用过本地的数据库来保存,也接触过用userdefault来保存,后来在一个项目中发现了一个新的方法--用Keychain来保存.下面话不多说了,直接通过示例代码来介绍吧. 方法示例 一.新建一个LYKeychainTool类,导入系统Security框架 ,LYKeychainTool.h文件实现如下: // // LYKeychainTool.h // keyChainTest // // Created by Liyu on 2017/6/2. // Cop
-
C#编程获取各种电脑硬件信息的方法示例
本文实例讲述了C#编程获取各种电脑硬件信息的方法.分享给大家供大家参考,具体如下: 获取CPU编号: ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); string strID = null ; foreach( ManagementObject mo in moc ) { strID = mo.Properti
-
Django框架模板的使用方法示例
本文实例讲述了Django框架模板的使用方法.分享给大家供大家参考,具体如下: 创建模板文件夹 在项目下床架一个模板文件夹 在templates下面为了区分是哪一个应用的模板再建一个与应用同名的文件夹. 在setting.py的TEMLATES里配置模板文件的路径 在视图函数里return reder def index(request):#视图函数必须有一个参数 #进行处理,和M和T进行交互... # return HttpResponse('good') # #使用模板文件 # #1.加载模
-
Java通过反射访问注解信息的方法示例
本文实例讲述了Java通过反射访问注解信息的方法.分享给大家供大家参考,具体如下: 一 点睛 利用Java的反射机制,可以访问注解信息.比如在调用某个方法时,需要知道该方法的一些基本信息,而这些信息又需要动态获取时,利用发射获取注解信息是一个比较理想的处理方式. 二 实战--访问类的某个成员方法的注解信息 1 代码 import java.lang.annotation.Annotation; import java.lang.annotation.Documented; import java
-
PHP实现的敏感词过滤方法示例
本文实例讲述了PHP实现的敏感词过滤方法.分享给大家供大家参考,具体如下: 1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数组 * @param string $string 要过滤的内容 * @return string $log 处理结果 */ function sensitive($list, $string){ $count = 0; //违规词的个数 $sensitiveWord = ''; //违规词 $st
-
Python实现读取机器硬件信息的方法示例
本文实例讲述了Python实现读取机器硬件信息的方法.分享给大家供大家参考,具体如下: 本人最近新学python ,用到关于机器的相关信息,经过一番研究,从网上查找资料,经过测试,总结了一下相关的方法. # -*- coding: UTF8 -*- import os import win32api import datetime import platform import getpass import socket import uuid import _winreg import re 1
随机推荐
- 基于mootools插件实现遮罩层新手引导
- Stream、WshShell、WshUrlShortcut对象及Shell.Application的参数与使用
- js实现HashTable(哈希表)的实例分析
- 网络安全方面的专业词汇
- 外贸网站屏蔽中国IP访问的多种方法
- Ubuntu 14.04设置开机启动脚本的方法
- 详解MongoDB和Spring整合的实例代码
- Spring学习之开发环境搭建的详细步骤
- python中assert用法实例分析
- JS 精确统计网站访问量的实例代码
- Asp.net中使用DapperExtensions和反射来实现一个通用搜索
- C#通过经纬度计算2个点之间距离的实现代码
- Android利用Fragment实现Tab选项卡效果
- php采集自中央气象台范围覆盖全国的天气预报代码实例
- js报$ is not a function 的问题的解决方法
- 使用ODBC数据库管理Serv-U的FTP用户及相关ASP编程[附源码示例下载]
- javascript中的undefined和not defined区别示例介绍
- jquery easyui combobox模糊过滤(示例代码)
- iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
- C#获取文件夹及文件的大小与占用空间的方法