首页 > 解决方案 > PHP 保护 SQL 登录数据

问题描述

如果我这样做,

$conn = new PDO("mysql:host=localhost;dbname=db", 'root', 'password')

访问该网站的人是否有可能获取该数据,或者是否有更安全更好的方法来处理 MySQL 登录

标签: phpmysqlpdo

解决方案


如果您的 Web 服务器配置正确,那么网络爬虫很难查看您的 php 页面的源代码。所以你的Mysql服务器的密码理论上应该很难获得。

但是网络服务器很复杂,网络爬虫经常发现和利用新的安全漏洞。例如,有人可能会通过利用 ssh 或远程桌面协议中的缺陷来侵入您的 Web 服务器。在这种情况下,你的 https 服务器保护你的 php 页面代码的能力并不重要:cybercreep 仍然可以看到它。

因此,您不应该使用您的 MySqlroot帐户向您的 php Web 应用程序提供数据库服务。相反,请使用一个单一用途的 MySql 帐户,该帐户只能访问您的 Web 应用程序使用的数据库。这样,如果网络蠕虫确实破解了您的 Web 服务器,它们也不会自动破解您的整个 MySql 服务器。

这个建议是纵深防御的一个例子。即使他们确实设法闯入某些东西,它也有助于减缓网络蠕动。


推荐阅读