6

有一个 InnoDB 表用于存储自定义构建的 Web 应用程序使用的博客文章的评论。

最近我注意到评论的自动递增主键值递增 2 而不是 1。

我还注意到,在另一个用于记住最后几个评论者的足迹签名(例如 ip、会话 id、uagent 字符串等)的 MySQL 表中,PHP 会话的名称以“viruskinq”开头,这很奇怪,因为我认为它应该始终是一个类似于 md5 的十六进制字符串。

谷歌只为“viruskinq”提供了几个结果,全部都是土耳其语。有趣的是,大约一年前,该网站被土耳其恶棍破坏。(我 100% 确定攻击者没有成功,因为我的应用程序中存在任何安全漏洞,因为同一公司托管的其他网站当时也遭到破坏。)

该站点位于使用 Linux 的共享主机上。

您认为服务器本身可能仍然受到那些黑客的影响吗?检查评论的 id 值显示,这种翻倍现象自今年 5 月以来就存在,但污损发生在差不多一年前。

还有什么其他原因可以解释自动增量值的奇怪行为?应用程序没有更改,并且在较早的注释中,自动递增的主键值是按顺序排列的。

编辑:解决方案摘要

托管公司告诉我,自动增量值翻倍的原因是因为他们使用主从 MySQL 架构师,据他们说这种现象是正常的。

他们还承认,各种黑客不断地攻击他们的服务器,“尤其是会话”,他们对此无能为力。

我想我最好开始收拾东西并搬到更好的网络主机上。

4

2 回答 2

4

我真的,真的怀疑这是一种病毒。仔细检查这是否真的是以该字符串开头的会话 ID(这确实会引起一些关注)。我的猜测是这个孩子发现了如何在浏览器中更改用户代理字符串,而您看到的结果是完全无害的。

关于增量问题。

  • 首先,检查auto_increment_increment您的 mySQL 服务器的设置。也许它被设置为 2 出于某种原因?

  • 其次,如果不是这样,我会查看DELETE评论系统在桌子上运行的所有操作。被识别为垃圾邮件的评论会被删除吗?您可以暂时记录删除,还是切换到软删除?

  • 另外,尝试自己创建一些后续评论。是否会出现同样的现象?如果您使用 mySQL 手动添加记录会怎样?

  • 查看插入提交的评论的 PHP 代码,确保没有任何东西可以导致这种行为。

  • 尝试将评论系统移至另一台服务器 - 最好是本地服务器,可能是新设置的 - 以查看该行为是否仍然存在。

于 2010-08-28T10:35:45.400 回答
2

难道只是表的自增值设置为2?

请参阅:MySQL 自动增量列跳跃 10- 为什么?

于 2010-08-28T10:36:09.497 回答