Django项目SECRET_KEY等敏感信息保存

本文介绍如何在Django项目部署时保护敏感信息,如SECRET_KEY、数据库密码等,通过使用Python os模块的environ函数从操作系统环境变量中读取,确保生产环境的安全。同时,深入解析SECRET_KEY的重要性和使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我们做完django项目后,向生产环境部署时,为了避免一些敏感信息被有心人利用,我们应该将其保护起来,比如说在settings配置中的一些密码等内容存在操作系统内,通过调用来使用,比如下面这种做法:

拿Django中的SECRET_KEY来说吧,其余如同数据库密码、邮箱密码等秘密内容都可以使用这种方式将其贮存在操作系统中。我使用的是python语言,这里要使用到python的os内置模块:

  • os模块:官方定义:This module provides a portable way of using operating system dependent functionality. (os模块提供了一种方便的方式让你去使用操作系统函数

具体到这个案例中我们使用的是os.environ函数,用来获取系统变量

1 import os
2 
3 SECRET_KEY = os.environ["SECRET_KEY"]

然后在linux中的/etc/profile中写入SECRET_KEY变量的值:

1 export SECRET_KEY="xxxxxxxx"
2 # 引号中的内容xxxxxxxx可以用Django原先自带的,也可以自己单独再另外生成。
3 -----------------------------------------------------------------
4 # 生成方式:
5 python manage.py shell
6 >>>from django.core.management.utils import get_random_secret_key
7 >>>get_random_secret_key()
8 'i!$!1s%4kzi%q(_^9b$i&!&apwu1!)l#=x99l2(6m=7+i(ajtm'

注:在向/etc/profile中写入数据,退出保存后一定要执行一下:source /etc/profile。作用是使改动生效,否则会报错】

 


拓展一下:

Django中的SECRET_KEY是一个十分重要的参数,它的用途如下:

 

The secret key is used for:

 

1、它会被用到除了django.contrib.sessions.backends.cache或者get_session_auth_hash()以外的会话后端的所有会话中。

2、它会被用到使用CookieStorage或者FallbackStorage下的所有信息中。

3、它会被用在所有的PasswordResetView令牌中。

4、除非提供了一个不同的秘钥,它会被用于加密签名(cryptographic signing)的任何使用。

 

转载于:https://www.cnblogs.com/cpl9412290130/p/10431514.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值