是什么让你的MySQL凭据私人在PHP的最佳方法是什么?(What is the best way

2019-07-31 17:28发布

当谈到在PHP编程Web应用程序,什么是以防公开或由他人(第三者)发现你的MySQL信息的最有效的方法是什么? 这些信息将包括域名和登录并在Connet的功能使用的密码。

举一个例子一个很好的程序可能会保持在一个单独的PHP文件你的MySQL连接功能等。

有任何想法吗?

Answer 1:

  1. 保持你的证书在一个单独的.php文档根目录以外的文件(所以它不是通过网络直接访问)
  2. 这是更好地保持它.php文件,而不是,比方说, .inc ,这样即使是在网上无意中访问,它会被执行,而不是直接显示
  3. 不要将用户名和密码已建立的连接(即,取消设置瓦尔或数组键拿着凭证,你不需要他们再之后)之后; 你可以不小心暴露你没有什么了
  4. 不允许凭据的重复列入文件(例如, if (defined('DB_AUTH_LOADED')) return; define('DB_AUTH_LOADED', 1);在你的证书文件),以避免您的凭据的任何可能的重新定义瓦尔

这应该保护你不受直接进入您的凭据,并通过自己的代码证书的意外泄漏。 如果攻击者可以上传PHP文件到您的服务器和管理实际执行他们的斗争几乎消失,但上述措施应该让你很意外地透露自己的creds安全。



Answer 2:

我不能说这是否是最好的,但我这是如何做到这一点;

我有一个config.php文件,其中包含我的数据库连接凭据,而不能直接访问。 我有需要的config.php文件,使连接的DB类,我有延伸DB类网站类。

这是做事情的一种很常见的方式,而被普遍接受。



Answer 3:

你可以做(​​应您的凭据被破坏)的另一件事是,以确保您为这PHP将使用任务的mysql用户从制作DROP语句被禁止,甚至DELETE语句,如果你可以组织你的数据,因此。

给该用户访问其它数据库可能的最低水平,大概只保存用户数据的人。



Answer 4:

类,包括? 方式很多工作要做,但最终如果有人访问未解析PHP文件,他们将有你的MySQL登录信息。



文章来源: What is the best way to keep your MySQL credentials private in PHP?