有选择地将原始帖子从受影响的站点恢复到新安装的WordPress数据库

时间:2016-07-26 作者:Hasan

我的网站最近遭到破坏。如果我恢复完整的数据库,谷歌说我的网站上有被黑客攻击的内容。黑客在我的网站上创建了许多新的垃圾帖子,这些帖子已经在谷歌SERP上列出。

有没有办法在新安装的WordPress数据库上逐个恢复我的实际帖子,或者清理数据库并完全恢复?

我有受损数据库的备份。如果我不能恢复我的帖子,我必须从头开始重新构建网站。

2 个回复
SO网友:Andy Macaulay-Brook

准备一份数据文件的副本,并安全地存储它,以防你搞砸了——这很容易做到。确保它被标记为黑客,这样你就不会在任何地方意外使用它。

在SQL中查找以以下内容开头的部分:

INSERT INTO `wp_posts` VALUES
最后以分号结尾。

这是您所有的帖子数据。希望你每个帖子都有一行,否则这将非常困难。This does not include any categories, tags or custom fields.

希望您能看到这样的线条:

INSERT INTO `wp_posts` VALUES (1,1,\'2015-03-03 11:42:37\',\'20
(2,1,\'2015-03-03 11:42:37\',\'2015-03-03 11:42:37\',\'what is th
(3,1,\'2015-03-03 11:51:21\',\'0000-00-00 00:00:00\',\'\',\'Auto Dr
(5,1,\'2015-03-03 11:54:41\',\'2015-03-03 11:54:41\',\'\',\'Berry a
(6,1,\'2015-03-03 11:55:16\',\'2015-03-03 11:55:16\',\'what is th
(7,1,\'2015-03-03 11:55:21\',\'0000-00-00 00:00:00\',\'\',\'Auto Dr
(8,1,\'2015-03-03 12:00:01\',\'2015-03-03 12:00:01\',\'We are a n
(9,1,\'2015-03-03 12:00:01\',\'2015-03-03 12:00:01\',\'We are a n
(10,1,\'2015-03-03 12:01:30\',\'2015-03-03 12:01:30\',\'Due to th
(11,1,\'2015-03-03 12:01:30\',\'2015-03-03 12:01:30\',\'Due to th
(12,1,\'2015-03-03 12:01:43\',\'2015-03-03 12:01:43\',\'Applicati
(13,1,\'2015-03-03 12:01:43\',\'2015-03-03 12:01:43\',\'Applicati
(14,1,\'2015-03-03 12:02:06\',\'2015-03-03 12:02:06\',\'Participa
(15,1,\'2015-03-03 12:02:06\',\'2015-03-03 12:02:06\',\'Participa
(16,1,\'2015-03-03 12:03:16\',\'2015-03-03 12:03:16\',\'Walk for 
(17,1,\'2015-03-03 12:03:13\',\'2015-03-03 12:03:13\',\'\',\'461569
您“只是”(这可能是缓慢而仔细的工作)想要删除已侵入数据的行。任何一行看起来不像你原来的帖子都可以。

详细检查其中一行并对其进行格式化,以查看内容:

INSERT INTO `wp_posts` VALUES (
1, -- this is the Post ID
1, -- this is the author ID
\'2015-03-03 11:42:37\', -- post date
\'2015-03-03 11:42:37\', -- post date in GMT
然后:

\'Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!\',
该字段是您的帖子内容。如果您不想在数据库中使用它,请从中删除整行( 高达),

\'Hello world!\', -- Post title
\'\', -- Excerpt
\'publish\', -- status - all live posts will have "publish" here

-- and so on
\'open\',\'open\',\'\',\'hello-world\',\'\',\'\',
\'2015-03-03 11:42:37\',\'2015-03-03 11:42:37\',
\'\',0,\'http://testsite.localhost/?p=1\',0,\'post\',\'\',1),
如果任何字段中有非纯英语的内容(如果您的帖子是英语的),或者明显是与您的站点相关的简单值、日期或URL,那么请删除该行。

虽然手动操作是可以做到的,但如果有很多帖子,我会考虑找一个了解WP&;的人;MySQL为您清理数据。(现在不是我,我应该补充一下!!)

在尝试导入记录之前备份干净的站点,以防万一。

祝你好运

SO网友:johncarter

您可以还原full database 和使用Bulk Delete 删除不需要的帖子。

使用插件过滤器按年龄、类别或作者检测垃圾邮件帖子。

我还建议您临时安装WordFence Security 并进行扫描以确保您的所有信息都已清除。

相关推荐

Multisite installation steps?

我启动了Multisite 特色我想在子域中创建一个站点。我有两个问题:在多站点管理仪表板中创建站点之前,还是之后,我必须在服务器上创建子域</如果是,在multisite admindashboard中创建站点之前,还是之后,我必须在此子域中安装WordPress安装我在StackExchange上找到了这个,但它对我没有帮助,或者我就是不明白。Subdomain multisite gives 404 on sub sites谢谢弗朗索瓦