【发布时间】:2020-04-20 02:32:26
【问题描述】:
我想保护我的 symfony 项目。
我在我的 .env 文件中看到了与数据库连接的行:
DATABASE_URL=mysql://username:password@127.0.0.1:3306/my_db
我认为它不安全,因为用户名和密码是明确的。
您能否告诉我如何保护与数据库的连接以及如何隐藏连接信息或如何保护它们?
真诚的
【问题讨论】:
-
如果您的
.env文件无法通过网络访问 - 可以按原样存储数据。 -
您的网络服务器应设置为以 root 身份处理公共子目录,因此从网络上,任何人都应该无法访问 .env 文件。除此之外,您应该通过服务器环境变量定义 .env 文件中的数据(取决于使用的网络服务器),这将进一步减少攻击面。 .env 文件存在的原因可能很弱(主要是 bin/console 可用性)
-
@Jakumi 能否举例说明如何使用服务器环境变量配置 .env 文件?
-
@Frank B - 例如在 PHP-FPM 池配置中定义它们(参见文件底部) - 这完全取决于您的系统以及您对服务器的访问有多好/限制。
标签: php mysql sql symfony symfony4