gpt4 book ai didi

security - 远程服务器代码安全密码

转载 作者:行者123 更新时间:2023-12-02 03:10:47 25 4
gpt4 key购买 nike

我正在构建一个网络应用程序,它将发送电子邮件以进行注册验证。我将使用 https://github.com/RGBboy/express-mailer .我想知道在代码中显示电子邮件密码并将其推送到托管应用程序的服务器(Heroku、AWS 等)是否安全。如果不是,我应该使用哪些替代方法来“隐藏”密码?

最佳答案

将明文 secret /凭据存储在版本控制下通常被认为是不好的做法。因为这可能导致 security issues

通常这些类型的信息被设置为环境变量。 Heroku 有一个 pretty straightforward way of doing this configuration .您可以使用他们的网络管理员,或通过命令行设置它们。

至于其他情况,比如您的开发设置,这可以通过使用 .env 文件来完成,这些文件被加载并向您的运行代码公开其值。由于 [express-mailer][2] 是一个节点应用程序,我建议使用一些 npm 包,例如 dotenvnode-env-file自动执行此加载。我个人更喜欢 dotenv,我觉得它更简单。

您还应该查看 this article关于 .env 文件的使用。基本思想是让您的 .gitignore(或等效文件)忽略您的 .env 文件,从而确保您的 secret 凭据永远不会在您的版本控制中引入。然后设置一个 .env.sample 文件来向开发人员显示哪些数据需要在所述 .env 文件中声明。

例子:

.env

EMAIL=foo@bar.com
PASSWORD=AahUbf796
S3_TOKEN=ASVNS7843NCA87SDVNBRT9

.env.sample

EMAIL=<email to access the account>
PASSWORD=<secret password>
S3_TOKEN=<s3 token for application foobar>

关于security - 远程服务器代码安全密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40161447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com