【发布时间】:2011-04-05 03:50:02
【问题描述】:
有一个 InnoDB 表用于存储自定义构建的 Web 应用程序使用的博客文章的 cmets。
最近我注意到 cmets 的自动递增主键值递增 2 而不是仅 1。
我还注意到,在另一个用于记住最后几个评论者的足迹签名(例如 ip、会话 id、uagent 字符串等)的 MySQL 表中,PHP 会话的名称以“viruskinq”开头,这很奇怪,因为我认为它应该始终是一个类似于 md5 的十六进制字符串。
Google 只为“viruskinq”提供了几个结果,都是土耳其语。有趣的是,大约一年前,该网站被土耳其恶棍破坏。 (我 100% 确定攻击者没有成功,因为我的应用程序中存在任何安全漏洞,因为同一公司托管的其他网站当时也遭到破坏。)
该站点位于使用 Linux 的共享主机上。
您认为服务器本身可能仍然受到这些黑客的影响吗?检查评论的 id 值发现,这种翻倍的现象自今年 5 月以来就存在,但污损发生在差不多一年前。
还有什么其他原因可以解释自动增量值的奇怪行为?应用程序未更改,并且在较旧的 cmets 中,自动递增的主键值是按顺序排列的。
编辑:解决方案摘要
托管公司告诉我,自动增量值翻倍的原因是因为他们使用了主从 MySQL 架构,据他们说这种现象是正常的。
他们还承认,各种黑客不断攻击他们的服务器,“尤其是会话”,他们对此无能为力。
我想我最好开始收拾东西并搬到更好的虚拟主机上。
【问题讨论】:
-
Google 提到的所有似乎都是昵称
-
你确定你的数据库中没有空行吗?
-
除了 autoinc 值之外,该表看起来完全没问题。
-
SELECT @@auto_increment_increment;告诉你什么?还要检查该变量是否未在运行时在您的应用程序中设置。 -
Imre L:我得了 2,但我似乎无法更改此值。我要给托管公司的技术支持写一封电子邮件。
标签: mysql innodb auto-increment virus