对于某些人来说,这可能是一个愚蠢的问题,我可能会得到一些反对,但我需要知道。
如何在Symfony 4.2中保护生产模式的密码(敏感信息)?
我认为编译composer dump-env prod
会得到保护,并且不会公开显示,但是如果运行phpinfo();
,我可以看到我所有的密码都是纯文本...
DATABASE_URL
MAILER_URL
是否应该像以前一样在参数下将它们存储在services.yaml
中?
但是,为什么我们还要拥有.env
文件?
还是我不应该因为没有人可以访问服务器的CLI而对此感到困扰?
答案 0 :(得分:3)
我知道在生产中存储密码的最常见和最安全的方式是使用环境变量。在.env或应用程序存储库中的其他文件中写入密码可能会由于对GitHub的提交,代码共享等导致意外泄漏。
.env文件是制作环境变量的简便方法,应主要用于本地开发。
在生产中,您将在主机上和/或通过apache / nginx配置,docker,kubernetes机密等手动创建环境变量。
公众永远都不能访问phpinfo()或您的环境变量。