你的网站突然变慢、跳出警告,是不是被挂马了?
早上点开自己网站,页面卡在白屏三秒不动,或者浏览器直接弹出“此网站可能有害”——你心里“咯噔”一下:坏了,八成被挂马了。
别急着删文件、重装程序,先稳住,挂马不是绝症,但拖得越久,后门越深,清理越难。
如何第一时间确认网站真的被挂马了?
先别动手,先看证据。
打开 Google Search Console,点进“安全与人工处置”页面,如果有红色警告,基本坐实了。
再搜一下 site:你的域名 赌博 或 site:你的域名 招商,如果跳出一堆你根本没发过的页面,就是最直白的信号。
顺手翻翻服务器访问日志,找那些高频访问、IP地址乱码、User-Agent写着“curl/7.68.0”的请求——这类痕迹,十有八九是黑产在扫站或维持连接。
一个真实案例:朋友做外贸B2B网站,某天发现询盘量断崖下跌。查日志没异常,查文件也没明显后门。最后用 Beyond Compare 对比了上周备份和当前文件,发现 footer.php 里多了一段 base64 编码的 JS,解出来是:只对来自东南亚IP、且停留超10秒的访客,悄悄跳转到博彩落地页。平时完全不触发,连站长自己都测不出来。
网站被入侵,第一步应该做什么?
立刻关站。不是“考虑”,是马上执行。
进主机控制面板,开启维护模式;或者更干脆,在网站根目录放一个纯静态的 index.html,写上“系统升级中,稍候再见”。
同时,打开密码管理器,把以下四组密码全部重设:
- 后台管理员账号(WordPress / 织梦 / 其他CMS)
- FTP/SFTP 账号
- 数据库账号(phpMyAdmin 或 DBeaver 里用的那个)
- 主机控制面板账号(如宝塔、cPanel)
密码必须是全新组合,别复用、别带生日、别用“admin123”。
马上联系你的主机商。告诉他们:“我的网站疑似被植入Webshell,需要协助检查服务器进程和近期异常登录记录。”他们不一定能帮你清病毒,但能快速拉黑恶意IP、暂停可疑进程,给你争取离线清理的时间。
怎样找到并清除所有恶意文件和代码?
别在线上删!先把整站打包下载到你自己的电脑上。
用 Windows Defender 或火绒扫描压缩包——别小看系统自带杀软,它对基础木马识别率不低。
再用「D盾」或「河马WebShell查杀」跑一遍,重点勾选“深度扫描”和“混淆代码检测”。
工具扫完,手动还得过三关:
- 入口文件:打开
index.php、index.html,Ctrl+F 搜eval(、base64_decode(、document.write(、<script src= - 模板文件:检查主题下的
header.php、footer.php、functions.php,尤其注意末尾有没有多出几行空白+乱码 - 配置文件:打开
.htaccess,看有没有RewriteRule指向.pw、.top、.xyz这类新顶级域
清理原则就一条:宁可全删,绝不手软。
比如 functions.php 被加了两行加密代码?别改,直接从官网重新下载同版本CMS,把原始 functions.php 拷进去覆盖。
上传目录(/uploads/ 或 /images/)更要逐个点开看——.php、.js、.sh 文件,只要不是你亲手传的,一律删。
数据库被注入了怎么办?
文件清干净了,黑客可能早把跳转链接、暗链、JS脚本塞进数据库里了。
用 phpMyAdmin 登录,导出整个数据库为 .sql 文件,拖到本地用记事本打开,Ctrl+F 搜:
href="http://(后面接陌生域名)<iframe src=、<script src=eval(、base64_decode(.cc、.xyz、.online(近半年高危后缀)
重点盯 wp_posts(WordPress文章内容)、dede_arctiny(织梦文章索引)、phome_ecms_news_data_1(帝国CMS正文表)。
如果某篇文章正文里突然多了段带 onclick="window.location.href='xxx'" 的代码,那就是典型注入。
删掉这段,再对比你最近一次手动备份里的原文,确保没误伤正常内容。
最后别忘:检查 wp_users 表里有没有 ID 大于1000、用户名像 admin888、test123 的账号;把所有用户登录态清空,强制所有人重新输密码。
如何防止清理后再次被挂马?
更新,是最简单也最有效的防护。
今天下班前,就把CMS、主题、插件——所有能点“更新”的地方,全部点一遍。老版本漏洞就像没锁的窗,黑客天天蹲点撬。
权限要收紧:
- 把
/wp-content/plugins/、/uploads/这些目录的权限改成755,禁止写入时还能执行 - 在宝塔或主机后台,关掉
system()、exec()、shell_exec()这几个PHP危险函数 - 后台登录必须开两步验证(微信/Google Authenticator),别只靠密码
备份不能存在服务器里。每周自动打包,用FTP推到你个人电脑,或存到阿里云OSS(如果你已经在用)、腾讯微云(如果你日常就用它同步文件)。
安全插件不是摆设。WordPress装Wordfence,织梦装DedeCMS官方安全补丁,至少能实时监控文件改动、封禁暴力爆破IP。
今天下班前就能做的紧急自查步骤
现在,打开电脑,花15分钟做完这五件事:
- 登录 Google Search Console → 左侧菜单点“安全与人工处置” → 看顶部有没有红色感叹号
- 用FTP软件(如FileZilla)连上网站 → 找到根目录下的
.htaccess文件 → 右键“编辑”,扫一眼有没有Redirect 302或RewriteRule指向奇怪域名 - 在FTP里按“修改时间”排序 → 拉到最上面,检查最近3天被改过的
.php和.js文件,右键下载到桌面 - 用记事本打开刚下载的
index.php和header.php→ Ctrl+F 搜base64、eval、document.write,有就标红记下来 - 打开你的网站后台 → 设置 → 修改管理员密码 → 换一个至少12位、含大小写字母+符号的新密码,现在就改
做完这些,你心里就有底了。安全不是装个插件就一劳永逸的事,而是每次更新、每次改密码、每次备份时,多想一秒“这操作会不会留后门”。