网站恶意代码批量清理方法:零基础也能操作的完整教程
清理前必须做的准备:备份与快照
在动手清理恶意代码之前,先备份整套网站文件与数据库。
很多新手一着急就直接删除疑似文件,结果导致网站崩溃。
你可以这样做:
- 宝塔面板用户:进入“文件” -> 全选根目录 -> 点击“压缩” -> 下载到本地;同时进入“数据库” -> 备份对应库 -> 导出 SQL 文件。
- 命令行用户:运行
tar -czvf backup_$(date +%Y%m%d).tar.gz /var/www/html打包网站目录。 - 如果服务器有快照功能(如阿里云、腾讯云),先打一个磁盘快照,方便一键回滚。
备份完成后,再开始清理流程。
这一步能让你在操作失误后快速恢复,是零基础用户绝对不能跳过的步骤。
使用自动扫描工具定位恶意文件
人工查找恶意代码效率低且容易遗漏,推荐直接用安全扫描工具批量检测。
常用工具如下:
河马 webshell 查杀(免费版即可)
- SSH 登录服务器,执行:
wget http://www.shellpub.com/hm/hm-linux-latest.tgz
tar -zxvf hm-linux-latest.tgz
cd hm
./hm scan /var/www/html # 替换为你的网站路径
- 扫描结束后,会输出疑似恶意文件的路径和威胁等级。重点关注高危文件。
宝塔面板安全插件
- 进入宝塔后台 -> “安全” -> “网站恶意代码查杀” -> 选择站点 -> 点击“开始扫描”。
- 扫描结果会列出可疑文件,支持直接查看内容并一键删除。
将扫描结果中的恶意文件路径记录下来,下一节批量处理。
批量替换与删除恶意代码
定位到恶意文件后,推荐使用 sed 命令批量替换 或 直接删除。
注意:部分恶意代码是伪装成正常文件,需要先确认。
批量删除已知恶意文件名
如果恶意文件有统一的特征名(如 evil.php、shell.php),可以用 find 批量删除:
find /var/www/html -name "*.php" -type f -exec grep -l 'base64_decode\|eval(\$_POST' {} \; | xargs rm -f
这个命令会删除所有包含base64_decode或eval($_POST的 PHP 文件——请务必先备份。
批量替换恶意字符串
如果恶意代码渗透在正常文件里(比如在 JS 文件头部插入了加密脚本),使用 sed 批量删除:
sed -i '/
1
服务中心