php - 以安全的方式存储 MySQL 连接数据

标签 php mysql security web

Web 开发人员大家好

我正在使用 PHP 和 MySQL 开发网站,我需要一种安全的方式来以安全的方式存储 MySQL 连接数据(即主机、用户名和密码)。

我找到了很多关于这个问题的答案,我找到的最好的答案是将它们存储在 php.ini 文件中。我还意识到保护此类数据的关键是将它们存储在您的主目录之外(如果您正在使用 xampppublic_html 如果您正在托管您的网站,则为 htdocs某处)。

我现在将它们存储在 php.ini 文件中,但是一旦我上传了我的网站,我将无法访问它。

我该怎么办?

最佳答案

不必将凭据放入 php.ini 中。它们在那里并不比您的 HTTP 文档位置之外的任何其他文件更安全。

将连接参数存储在 HTTP 请求可以直接到达的任何目录之外 的任何 PHP 文件中就足够了。 IE。不要将其放在 DocumentRoot 或您的 HTTP 服务器可以访问的任何其他 Location 中。

并确保您的服务器本身不会受到损害。如果有人可以入侵并直接访问您的 HTTP 服务器上的文件或进程,数据库凭据就不是您最担心的问题。

如果您无法访问您的域文件夹之外的任何文件夹,您是否可以至少设置一个 .htaccess 文件以拒绝所有,以便没有 HTTP 请求可以可以直接访问您存储私有(private)数据的文件(或目录)?当然,PHP 代码仍然可以使用 includerequire 读取此类文件。

关于php - 以安全的方式存储 MySQL 连接数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23799467/

相关文章:

php - Jquery::Ajax 驱动的进度条?

php - 拉拉维尔 6.2 : I get the same Id from different data in index() method

php - 我想获取表中给定推荐 ID 的总用户数

mysql - 如何从mysql表中获取前5个金额?

ios - SSL - 哈希密码与否

c - 缓冲区溢出示例不适用于 Debian 2.6

java - keygen标签的私钥

php - NetBeans 不显示当前打开的 php 文件中定义的函数列表

php - 在php中显示表中的数据

php - 将 ID 数据传递到新页面