WordPress网站被黑了怎么办:小站先做这4件事
WordPress网站被黑了怎么办:小站先做这4件事
早上打开网站,发现页面跳转到了博彩网站。或者Google搜索结果里,你的网站标题变成了一堆乱码和垃圾链接。又或者主机商发来邮件,说你的网站在发送垃圾邮件。
这种时候,第一反应通常是慌。我懂,因为我也经历过。
但慌解决不了问题。WordPress占全球网站的43%,被黑不是你一个人的问题,也不代表你做错了什么。大多数情况下,是某个插件或主题的漏洞被利用了。
这篇文章不会给你一堆技术命令让你照着敲。我会告诉你:发现被黑后,应该先做什么、再做什么,什么时候该自己动手、什么时候该找专业人士。
如果是我的站被黑了,我会按这四步来:判断 → 止损 → 清理 → 恢复。
先别慌:判断严重程度和是否需要帮助
被黑后的第一件事不是立刻去删文件,而是搞清楚两个问题:严重到什么程度?我能不能自己处理?
快速检查这8个症状
打开网站和后台,看看有没有这些情况:
- 网站跳转到其他网站(特别是博彩、色情网站)
- 页面出现陌生的广告或链接
- Google搜索结果显示异常的标题或描述
- 网站加载速度突然变得很慢
- 收到主机商的滥用警告邮件
- 后台出现陌生的管理员账户
- 用FTP查看文件,发现核心文件的修改时间很奇怪
- 数据库大小突然增长了很多
如果只有1-2个症状,网站基本还能访问,那是轻度。3-4个症状,功能明显受影响,那是中度。5个以上,或者涉及用户数据泄露,那就是重度了。
有个真实案例:一个站长发现index.php被注入了恶意代码,文件权限被改成555(只读)。他手动改回权限,结果十几秒后又被改回555。这说明入侵不是静态的,攻击者可能还在持续活动。
三个问题决定你该不该自己修
不是所有被黑的网站都适合自己修。问自己三个问题:
1. 网站是否涉及交易或客户数据?
如果你的网站有WooCommerce商店、会员系统、或者收集客户信息的表单,建议直接找专业人士。数据泄露的法律和商业风险,远高于修复成本。
2. 你有没有完整的近期备份?
"近期"指的是7天内的备份。如果没有,自己修的风险很高——操作失误可能导致数据永久丢失。
3. 你能不能接受网站下线1-2天?
自己修需要学习和试错时间。如果网站是电商、新闻站、或者依赖流量的内容站,下线成本可能比请人修更高。
这三个问题,任何一个答案是"不行",就建议找专业人士。两个以上"不行",强烈建议找专业人士。
如果三个问题都没问题,那可以自己试试。接下来的步骤,就是给你准备的。

第一件事:止损而不是修复
发现被黑后,很多人的第一反应是"赶紧删掉那些恶意文件"。但这不是最紧急的事。
最紧急的是:阻止损害继续扩大。
为什么?因为恶意代码可能正在窃取数据、向访客传播恶意软件、或者发送垃圾邮件导致你的IP被封。先把这些活动停下来,再考虑修复。
而且,先做止损动作可以让你冷静下来。有了备份后,修复时也更有底气。
止损四步,30分钟搞定
第1步:启用维护模式(5分钟)
目的是防止访客访问被感染的页面。
最简单的方法是安装一个维护模式插件,比如WP Maintenance Mode。如果后台进不去,可以通过FTP在wp-config.php文件里添加这一行代码(加在"停止编辑"那行之前):
define('WP_MAINTENANCE_MODE', true);
第2步:备份当前状态(10分钟)
即使网站被感染了,也要备份。因为里面有你的数据。
- 文件备份:通过FTP或主机面板,下载整个WordPress目录到本地
- 数据库备份:登录phpMyAdmin,选择你的数据库,点"导出"
第3步:修改所有密码(10分钟)
攻击者可能已经拿到了你的密码。全部改掉:
- WordPress管理员密码
- 数据库密码(在wp-config.php里)
- FTP/SSH密码
- 主机面板密码
第4步:检查用户账户(5分钟)
登录WordPress后台,进入"用户 → 所有用户",看看有没有陌生的管理员账户。有的话,立刻删除。
这四步做完,损害就基本被控制住了。接下来才是清理。

清理恶意代码:小站为什么应该优先重装
清理恶意代码有两个方案:定点清理(找到恶意文件逐个删除)和全部重装(替换所有核心文件)。
竞品文章通常会告诉你"用扫描工具找到恶意文件,然后删除"。但对于小站来说,我更推荐重装。
为什么小站应该优先重装
原因很简单:清理不彻底的风险太高。
恶意代码可能藏在数百个文件里,有些伪装成正常代码,有些藏在数据库的序列化数据里。即使你用扫描工具找到了表面的恶意文件,后门可能还在。
而且,彻底清理需要3-5小时,还不能保证100%干净。重装WordPress核心加重新配置,只需要1-2小时。
小站的特点是:数据量小,定制化少,重装成本低。如果你的网站没有复杂的定制开发,重装是更安全、更省时的选择。
重装方案(1-2小时)
准备工作:
- 确认你已经备份了当前状态
- 下载WordPress最新版本(wordpress.org/download)
开始重装:
- 通过FTP连接到网站,删除wp-admin和wp-includes这两个文件夹
- 用新下载的WordPress里的wp-admin和wp-includes替换
- 替换根目录下除了wp-config.php、.htaccess、wp-content文件夹外的所有文件
- 进入wp-content/plugins文件夹,删除所有插件
- 回到WordPress后台,重新安装插件(只安装官方插件库里的版本)
- 进入wp-content/themes文件夹,删除所有不用的主题,只保留当前使用的主题
- 如果当前主题也不确定是否安全,删除后重新安装官方版本
清理数据库:
重装文件后,还要清理数据库。登录phpMyAdmin,运行这些SQL语句(记得把"wp_"替换成你的实际表前缀):
-- 检查文章内容里的恶意代码
SELECT * FROM wp_posts
WHERE post_content LIKE '%<script%'
OR post_content LIKE '%eval(%'
OR post_content LIKE '%base64%';
-- 检查选项表里的恶意内容
SELECT * FROM wp_options
WHERE option_value LIKE '%<script%'
OR option_value LIKE '%eval(%'
OR option_value LIKE '%base64%';
-- 检查陌生的用户账户
SELECT * FROM wp_users
WHERE user_login NOT IN ('你的用户名');
如果查询结果里有可疑内容,先截图记录,然后手动删除或修正。不确定的内容不要删,先标记。
如果你还是想定点清理
如果你有一定技术基础,或者网站有复杂的定制开发不方便重装,可以用定点清理方案:
- 安装Wordfence Security插件(WordPress后台 → 插件 → 安装插件 → 搜索"Wordfence")
- 运行完整扫描(可能需要30-60分钟)
- 根据扫描结果逐个处理恶意文件
- 手动检查这些常见藏匿点:
- wp-content/uploads/文件夹(不应该有.php文件)
- .htaccess文件(检查有没有奇怪的重定向规则)
- wp-config.php文件(检查有没有多余的代码)
- 主题的functions.php文件(检查有没有可疑的钩子)
- 清理数据库(用上面的SQL语句)
定点清理的问题是:你很难保证100%清理干净。如果一周后网站又出现异常,可能就要考虑重装了。

恢复上线:如何确认真的清理干净了
清理完成后,不要急着恢复上线。先验证一下是不是真的干净了。
清理验证清单
用Wordfence再扫描一次,确认无警告。然后检查这些项目:
- 所有核心文件MD5校验通过(Wordfence的"扫描"功能可以做)
- 数据库里没有可疑的注入代码(用上面的SQL语句再查一次)
- 所有用户账户都是你认识的
- .htaccess和wp-config.php没有异常修改
- 主题和插件都是从官方渠道安装的
- 文件权限设置正确(文件应该是644,目录应该是755)
如果这些都没问题,可以恢复上线了。
恢复上线三步
- 关闭维护模式(删除之前添加的代码,或者停用维护模式插件)
- 测试网站主要功能(发布文章、评论、表单提交等)
- 用隐私模式打开网站,检查前端是否正常
设置监控
恢复上线后,要持续监控1-2周,确认没有异常活动:
- 启用Wordfence的实时监控功能
- 在Google Search Console添加你的网站(如果还没添加的话)
- 设置文件完整性监控(Wordfence有这个功能)
如果1-2周内没有异常,基本就可以确认清理干净了。
预防下次被黑:4个必做的安全设置
清理完成后,最重要的是防止再次被黑。这4个设置,30分钟就能搞定:
1. 安装安全插件并启用防火墙
推荐Wordfence或Sucuri Security。安装后,启用防火墙功能,设置登录尝试次数限制(比如5次失败后锁定1小时)。
2. 启用双因素认证
安装一个双因素认证插件(比如Two Factor Authentication)。即使密码泄露,攻击者也进不了后台。
3. 禁用文件编辑功能
在wp-config.php里添加这一行代码:
define('DISALLOW_FILE_EDIT', true);
这样即使攻击者进入后台,也无法通过主题编辑器修改文件。
4. 设置自动备份
安装UpdraftPlus插件,设置每天自动备份到云存储(Google Drive或Dropbox)。这样即使再次被黑,也能快速恢复。
另外,养成定期更新的习惯。WordPress核心、主题、插件有更新时,尽快更新。大多数被黑事件,都是因为用了有已知漏洞的旧版本。
如果你想进一步提升网站性能和安全性,之前我写过网站性能优化和选择安全的主题这两篇文章,可以参考。
写在最后
被黑不是世界末日。按照判断 → 止损 → 清理 → 恢复这四步来,大多数小站都能自己处理。
但记住:如果网站涉及交易数据、没有备份、或者不能接受下线时间,直接找专业人士。自己修省钱,但前提是你有时间、有备份、风险可控。
如果你按这篇文章的步骤操作后,网站恢复正常了,别忘了做最后一件事:设置自动备份。下次遇到问题,你会感谢现在的自己。