Symfony .env 在生产模式下保护密码

Symfony .env secure passwords in production mode

这对某些人来说可能是个愚蠢的问题,我可能会得到一些反对票,但我需要知道。

如何在 Symfony 4.2 中保护生产模式的密码(敏感信息)?

我以为当我编译 composer dump-env prod 它会被保护并且对 public 不可见但是如果我 运行 phpinfo(); 我可以看到我所有的纯文本密码...

DATABASE_URL
MAILER_URL

我应该像以前一样在参数下将它们存储在 services.yaml 中吗?
但是为什么我们还有 .env 文件?

或者一旦 none 可以访问我的服务器的 CLI,我就不应该为此烦恼?

据我所知,在生产环境中存储密码的最常见和最安全的方法是使用环境变量。在 .env 或应用程序存储库中的其他文件中写入密码可能会通过提交 GitHub、代码共享等方式导致意外泄漏

.env文件是制作环境变量的一种简单方法,主要用于本地开发。

在生产环境中,您可以通过 apache/nginx 配置、docker、kubernetes 秘密等方式在主机 and/or 上手动创建环境变量

public 永远不能访问 phpinfo() 或您的环境变量。