【发布时间】:2013-05-03 08:23:49
【问题描述】:
官网建议使用mysqli或dbo作为对mysql_connect的支持将被删除。但是什么结果是原因呢?已经在 mysql_connect 中编码的所有网页呢?它会使网站更容易受到攻击吗?
【问题讨论】:
官网建议使用mysqli或dbo作为对mysql_connect的支持将被删除。但是什么结果是原因呢?已经在 mysql_connect 中编码的所有网页呢?它会使网站更容易受到攻击吗?
【问题讨论】:
除非您升级到删除了这些功能的版本,否则应该不会有任何影响。当前版本 5.5.9 已默认禁用 mysql,但仍可以启用。这并不意味着您不能升级,如果您愿意,您仍然可以使用我使用 PDO 创建的这个包装器作为后端,它也可以正常工作(查看自述文件了解更多信息):
在 phpclasses.org 上: http://www.phpclasses.org/package/8221-PHP-Access-MySQL-databases-using-PDO-wrapper-functions.html
在github上: https://github.com/AzizSaleh/mysql
mysql 扩展并没有因为“心血来潮”而被弃用,而是因为缺乏对许多标准功能的支持,例如:
出于这些原因,如果您的代码库很小或开始一个新项目,我建议您改用 PDO 或 MySQLI。
【讨论】:
它实际上并不支持,但功能本身将被删除(在遥远的将来)。
所以,所有已经在 mysql_connect 中编码的网页都将停止工作。不过,我不会说这会使网站更容易受到攻击。
然而,要满足这样的条件,你需要两件事
这实际上至少需要 5-6 年才能发生
【讨论】:
mysql* 函数已经易受攻击。关键是要确保新代码不使用它们。