【发布时间】:2010-10-09 21:51:47
【问题描述】:
我使用 PHP 连接到 MYSQL。我有一个包含我放置数据库信息,连接信息等的地方,我包含它是必要的。
是什么阻止了某人爬取我的网站、找到这个包含并连接到我的数据库?我通常会限制 MySQL 中的少数权限,例如只能插入/更新数据的用户。但我确实有一个拥有完全控制权的管理员用户。
保护我的连接信息的最佳做法是什么?
谢谢,
-杰森
【问题讨论】:
我使用 PHP 连接到 MYSQL。我有一个包含我放置数据库信息,连接信息等的地方,我包含它是必要的。
是什么阻止了某人爬取我的网站、找到这个包含并连接到我的数据库?我通常会限制 MySQL 中的少数权限,例如只能插入/更新数据的用户。但我确实有一个拥有完全控制权的管理员用户。
保护我的连接信息的最佳做法是什么?
谢谢,
-杰森
【问题讨论】:
将包含保存在不在 webroot 中的文件夹中。如果有人确实获得了对您网站的 Web 服务器访问权限并且可以在文件系统中看到 PHP,则包含的敏感详细信息不在 Web 根目录中。许多黑客只能访问网站所在的位置。确保您的 PHP 源目录不存在。
【讨论】:
你用什么做网络服务器?如果它是 Apache 或类似的,您可以将数据库信息放在文档根目录之外。
【讨论】:
如果您的服务器配置正确,PHP 代码将由 PHP 执行,并且仅将输出发送到浏览器,而不是源代码本身。因此,浏览/抓取您的网站永远不会泄露 PHP 文件的内容,即数据库凭据。
当然,如果您的服务器没有配置正确,则不必如此。 (但在这种情况下你应该修复它!)
【讨论】: