如何保护存储在服务器上的密码?

How do I protect a password stored on server?

因此,我建立了一个 Django 项目,并完成了它。无论如何,views.py 脚本中有一个函数用于发送电子邮件。我正在使用 smtplib 库,当然我需要登录才能通过我的电子邮件地址发送电子邮件,因此在该脚本中写入了我的电子邮件和密码。

我将发布这个项目(由 Heroku 托管),所以我担心密码保护问题。 你怎么看?密码是否受到保护或我是否需要以某种方式保护它?我认为无法访问 views.py 脚本,但我不确定。

您可以而且应该使用 .env files for this. On heroku you have the option 添加没有 .env 文件的环境变量。

编辑:

关于 .env 文件的一些信息:它们用于从文件(.env 文件)加载环境变量。您通常不会将它们提交给 SVN,而是将 "example" 内容提交到文件中,该文件通常命名为 .env.example。根据您对 运行 应用程序的设置,可以通过不同的方式提供这些环境变量,但您始终可以在代码中以相同的方式访问它们。

对于这样的事情,您应该完全避免将密码放入代码中。相反,从环境变量中获取它,然后您可以使用 heroku config:set 通过命令行设置它。参见 the Heroku docs