繁体   English   中英

使用SetEnv将mysql密码存储在apache配置文件中

[英]Storing the mysql password in the apache configuration file using SetEnv

当前,我们将mysql密码存储在application.ini中。

由于此文件位于我们的源代码控制存储库(市场)中,因此不是存放生产服务器密码的好地方。

我正在考虑将其存储在apache配置的环境变量中。

这样合理吗?

当Apache可以读取配置文件时,请在流氓脚本中考虑以下内容:

<?php

echo file_get_contents('/path/to/config');

将文件保护为仅root用户访问权限:

chmod 600 /path/to/config && chown root:root /path/to/config

现在,您可以使用SetEnv而不允许apache的子进程读取文件。 在引导过程中,建立数据库连接,然后删除服务器变量,以使诸如var_dump($_SERVER)不显示这些值。

通过IP地址限制可以进一步阻止攻击,只要攻击者无法通过IP地址访问并知道配置文件的内容,那么您就可以了。

只要确保apache配置文件是apache以外的任何其他用户都无法读取的。

但是,保持密码安全并不是主要的预防措施,因为您还可以禁止从外部连接到MySQL服务器,或者仅将其限制为某些IP。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM