如何保护Sql密码

时间:2013-09-06 16:36:38

标签: php ios sql

我在我的应用程序中使用SQL,所以我创建了php网站来管理它。 问题是mysqli_connect中所需的密码是主服务器的密码(所有文件maneger,mysql等)。 什么是保护我的密码的最佳方法(从应用程序发送它或在PHP源文件中明确地删除它)。 其他建议?

2 个答案:

答案 0 :(得分:2)

有很多方法,但一般情况下:将它放在webroot之外的文件中,或者放在外面无法读取的文件中。即。一个被执行的PHP文件不会暴露它的来源。

如果您正在使用Apache,则可以将其存储在名为.htsomething的文件中,因为默认情况下,Apache会阻止访问以.ht*开头的任何文件

您可以将其存储在名为secret.txt的文件中,并通过添加.htaccess RewriteRule来阻止对其的访问。

对于我的项目,我将设置存储在Webroot之外的JSON文件中。此方法的一个主要优点是其他应用程序(如部署或监视工具)可以读取并轻松生成此设置文件。它也很干净,你不能用JSON做任何编程。

答案 1 :(得分:0)

首先:只为您的应用所需的权限为您的应用创建一个新帐户!

第二:尽可能锁定系统中某处的文件。您可以采取一些措施来进一步混淆密码,但最终您会得到一个明文,可以用来回溯数据库凭据。所以要明确:

  1. 使用运行应用程序所需的最小权限的数据库帐户。
  2. 尽可能保存配置文件的安全性(只有运行服务的用户和管理员才能访问),将其保留在webroot之外。
  3. 刚刚刷新了另一个答案 - @FritsVanCampen的建议也已经过时了。