保持管理员无法读取我的sql的用户名和密码

时间:2011-05-30 10:04:52

标签: php security

我有一个文件setup.php。
该文件具有mysql用户名和密码。是否有任何方法使其不可读或加密,以便即使管理员无法读取它,或者可以读取它但仍然不知道密码?

2 个答案:

答案 0 :(得分:1)

在MySQL中创建一个新用户,并为该用户提供一些基本权限。然后,您将拥有两个用户,您的管理员帐户和具有限制权限的用户帐户。

您也可以拒绝查看setup.php所在的文件夹执行相同操作,在操作系统中创建其他用户以限制对该文件夹的限制

答案 1 :(得分:1)

简短的回答是,出于实际目的,你可以让他们更难以访问它,但并非不可能。

如果有人可以完全访问服务器文件系统(例如,具有root权限),那么他们可以从该文件系统中读取任何数据,这样他们就可以读取您放置在那里的代码和任何数据文件。由于在该主机上运行的应用程序需要能够使用凭据,因此没有有效的方法来阻止对该服务器具有完全访问权限的人员阅读它们。

你可能会混淆它们,使它变得更难。如果你加密setup.php文件中的凭证,然后将解密算法和密钥放在另一个php文件中,它会阻止某人打开文件并获得信用,但是如果他们是的话,他们总是可以对该解决方案进行逆向工程足够坚定。

此外,如果他们完全控制了服务器,就可以使用数据包嗅探工具来获取使用时的凭据(除非您使用SSL加密它们)。

最终,如果某人正在运行应用程序并控制服务器,则必须对其进行一定程度的信任。

另外,在security.stackexchange.com上有一个stackexchange站点,对于这样的问题来说这是个好地方。