当前位置: 首页 > 编程笔记 >

Django保护敏感信息的方法示例

融宏伟
2023-03-14
本文向大家介绍Django保护敏感信息的方法示例,包括了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#隐藏手机号、邮箱等敏感信息的实现方法,包括了C#隐藏手机号、邮箱等敏感信息的实现方法的使用技巧和注意事项,需要的朋友参考一下 Intro 做项目的时候,页面上有一些敏感信息,需要用“*”隐藏一些比较重要的信息,于是打算写一个通用的方法。 Let's do it ! Method 1:指定左右字符数量 Method 1.1 中间的*的个数和实际长度有关 Method 1.2 : 中

  • 目前正在做商家转账到零钱,user_name需要加密;未加密时,能正常调用接口,加密后,报错了 这是加密方法

  • 问题内容: 默认情况下,django的url解算器似乎执行区分大小写的搜索来解析url,并区分’/ Login’和’login’。我的网址格式如下。 谁能指导我,如何使Django URL不区分大小写? 问题答案: 只需放在每个字符串的开头,即: 告诉每个RE不区分大小写地匹配

  • 例如: 在上面的正则表达式中,我们需要检查name属性是否具有值“xyz”。 如果name属性包含“xyz”,那么它应该跳过type=“string”并将掩码9032905776作为***。

  • 主要内容:1.引入包,2.配置加密、解密的密码,3.测试用例中生成加密后的秘钥,4.将加密后的字符串替换原明文,5.部署时配置 salt(盐)值MySQL 登录密码,Redis 登录密码以及第三方的密钥等等一览无余。这里介绍一个加解密组件,提高一些属性配置的安全性。 1.引入包 2.配置加密、解密的密码 3.测试用例中生成加密后的秘钥 4.将加密后的字符串替换原明文 5.部署时配置 salt(盐)值 为了防止 salt(盐)泄露被反解出密码,可以在项目部署的时候使用命令传入 salt 值:

  • 主要内容:1.引入包,2.配置加密、解密的密码,3.测试用例中生成加密后的秘钥,4.将加密后的字符串替换原明文,5.部署时配置 salt(盐)值MySQL 登录密码,Redis 登录密码以及第三方的密钥等等一览无余。这里介绍一个加解密组件,提高一些属性配置的安全性。 1.引入包 2.配置加密、解密的密码 3.测试用例中生成加密后的秘钥 4.将加密后的字符串替换原明文 5.部署时配置 salt(盐)值 为了防止 salt(盐)泄露被反解出密码,可以在项目部署的时候使用命令传入 salt 值: