有一个 InnoDB 表,用于存储自定义构建的 Web 应用程序使用的博客文章的评论。
最近我注意到评论的自动递增主键值增加了 2 而不是仅增加 1。
我还注意到,在另一个用于记住最后几个评论者的足迹签名(例如 ip、会话 id、uagent 字符串等)的 MySQL 表中,PHP 会话的名称以“viruskinq”开头,这很奇怪,因为我认为它应该始终是类似 md5 的十六进制字符串。
谷歌只给出了几个“viruskinq”的结果,全部都是土耳其语。有趣的是,大约一年前,该网站被土耳其恶棍破坏。 (我 100% 确定攻击者没有成功,因为我的应用程序中存在任何安全漏洞,因为当时由同一家公司托管的其他网站也遭到了破坏。)
该站点位于使用 Linux 的共享主机上。
您认为服务器本身有可能仍然受到那些黑客的影响吗?检查评论的 id 值发现,这种翻倍现象自今年 5 月以来就存在,但污损发生在大约一年前。
还有哪些其他原因可以解释自动增量值的奇怪行为?该应用程序尚未更改,并且在较旧的注释中,自动递增的主键值是有序的。
编辑:解决方案摘要
托管公司告诉我,自动增量值翻倍的原因是因为他们使用了主从MySQL架构,根据他们的说法,这种现象是正常的。
他们还承认,各种黑客不断攻击他们的服务器,“尤其是会话”,而他们对此无能为力。
我想我最好开始打包我的东西并转向更好的网络主机。
我真的真的怀疑这是病毒。仔细检查这是否真的是会话ID以该字符串开头(这确实是一些担忧的原因)。我猜这是一个发现了如何改变用户代理浏览器中的字符串,您将看到其结果,这是完全无害的。
关于增量问题。
首先,检查auto_increment_increment http://dev.mysql.com/doc/refman/5.0/en/replication-options-master.html#sysvar_auto_increment_incrementMySQL 服务器的设置。也许出于某种原因它被设置为 2?
其次,如果不是那样的话,我会看看所有DELETE
评论系统对表运行的操作。被识别为垃圾邮件的评论会被删除吗?您可以暂时记录删除,或者切换到软删除吗?
另外,尝试自己创建一些后续评论。是否也会出现同样的现象呢?如果使用 mySQL 手动添加记录会怎样?
查看插入提交注释的 PHP 代码,确保没有任何内容可能导致此行为。
尝试将评论系统移至另一台服务器(最好是本地服务器,可能是新设置的),看看该行为是否仍然存在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)