生产模式中的Symfony .env安全密码

时间:2019-03-22 10:43:53

标签: symfony symfony4

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

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

我认为编译composer dump-env prod会得到保护,并且不会公开显示,但是如果运行phpinfo();,我可以看到我所有的密码都是纯文本...

DATABASE_URL
MAILER_URL

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

还是我不应该因为没有人可以访问服务器的CLI而对此感到困扰?

1 个答案:

答案 0 :(得分:3)

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

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

在生产中,您将在主机上和/或通过apache / nginx配置,docker,kubernetes机密等手动创建环境变量。

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