Django/Python/Heroku:如何在代码中隐藏密码(硬编码的替代方案)
我最近写了一个自定义的发送邮件的功能,这里有一段代码:
def send_custom_email(recipient, custom_message):
...
gmail_user = 'myemail@gmail.com'
gmail_pwd = 'mypassword'
...
因为这个项目是开源的,我不想把密码写死在代码里,因为这样密码会公开在Github上,任何人都能看到。有没有什么方法可以隐藏这个密码呢?具体该怎么做呢?如果能给一些例子就更好了。
2 个回答
1
你可能不想用这种方式发送邮件。不过如果你真的需要这样做,建议你使用Heroku的配置变量功能,这样可以把敏感信息隐藏起来,不让它们出现在你的代码里。你可以查看这个链接了解更多信息:https://devcenter.heroku.com/articles/config-vars(里面有一个Python的例子)。
3
你可以把密码设置为你应用程序的环境变量。
- 登录到Heroku,选择你的应用。
- 点击设置。
- 添加配置变量。
你也可以通过命令行来完成这个操作,方法是:
heroku config:set YOUR_CONFIG_VALUE=whatever
想了解更多信息,可以查看这个链接:https://devcenter.heroku.com/articles/config-vars。