在webfaction上隐藏安全的django设置信息

时间:2014-06-30 14:52:38

标签: django webfaction

我试图隐藏webfaction上的django应用程序的数据库密码等安全信息 但我无法找到使用环境变量设置这些信息的方式和位置?

2 个答案:

答案 0 :(得分:4)

我开发了一个可以用pip安装的软件包:

pip install djangosecure

在您的settings.py中,您可以使用以下内容:

import djangosecure

...

DATABASES = {
    'default': djangosecure.get_database('production'),
}

...

首次运行manage命令时,系统将提示您输入数据库信息。

它可用于保护更多设置,请参阅以下自述文件: fiddle demo

<强>更新 更新:djangosecure&gt; = 0.0.4不再有get_database()函数,它现在基于类工作,所以新的ussage将是:

from djangosecure import DjangoDatabaseSettings
databases = DjangoDatabaseSettings(os.path.join(PROJECT_ROOT, 'databases.cnf'), 
crypto_key_file='path/to/your/cryptokey)

DATABASES = {
    'default': 'default': databases.settings('production'),
}

答案 1 :(得分:1)

将它们添加到bash_profile

在运行中进行SSH:

nano ~/.bash_profile

然后添加所需的变量并保存。例如:

export DATABASE_URL=postgres://username:password@host:port/databasename

这将创建一个名为DATABASE_URL的环境变量,其中包含字符串的内容。要进行测试,请在终端中运行echo $DATABASE_URL