立即行动,隔离风险
在开始修复之前,最重要的一步是防止病毒进一步扩散或对访问者造成危害。

(图片来源网络,侵删)
-
立即关闭网站:
- 方法A(推荐):通过你的服务器控制面板(如 cPanel、宝塔面板等)将网站设置为“维护模式”或直接关闭网站。
- 方法B:在网站根目录下创建一个名为
maintenance.html或html的文件,并写入一些维护提示,然后将网站的首页(通常是index.php)重命名(改为index.php.bak),这样访问者就会看到维护页面,而搜索引擎蜘蛛也不会抓取到异常内容。
-
更改所有密码:
- 立即更改你的 FTP/SFTP 密码、主机控制面板密码、数据库密码,以及网站后台的 管理员登录密码,病毒可能已经记录了你的旧密码。
第二步:找到并分析病毒
病毒通常不是单一文件,而是一系列被修改的文件或被植入的恶意代码,我们需要找到它们。
-
检查常见病毒特征:
(图片来源网络,侵删)- 文件被修改:检查以下关键文件是否被修改过,尤其是文件修改日期是否是你最近没有操作的时间。
index.php(首页文件)include/dedesql.class.php(核心数据库文件)include/common.inc.php(公共配置文件)userlogin.php(用户登录文件)config_update.php(后台配置更新文件)
- 查找可疑代码:用代码编辑器(如 VS Code, Sublime Text, Notepad++)打开这些文件,搜索以下常见的关键词:
base64_decode:这是最常见的,病毒会用它来隐藏恶意代码。eval或assert:这两个函数可以执行字符串中的PHP代码,是病毒执行的核心。file_put_contents:病毒常用它来写入文件。str_rot13、gzinflate、gzuncompress:这些是编码/压缩函数,常用来混淆恶意代码。- 一长串无意义的字母和数字组合,通常就是被
eval(base64_decode(...))执行的恶意代码。 - 可疑的远程文件包含,如
@fopen("http://...", "r")。
- 文件被修改:检查以下关键文件是否被修改过,尤其是文件修改日期是否是你最近没有操作的时间。
-
使用安全工具扫描:
- 服务器端扫描:如果你的主机服务商提供安全扫描服务(如 cPanel 的 "ImunifyAV" 或 "ClamAV"),立即运行一次全盘扫描。
- 本地扫描:将网站文件下载到本地,使用杀毒软件(如 Windows Defender、火绒等)进行全盘扫描。
- 在线扫描:将你的网站打包成
.zip文件,上传到一些在线病毒扫描网站进行检查(VirusTotal.com,可以上传文件让几十种杀毒引擎同时扫描)。
第三步:清除病毒(核心步骤)
根据你的情况,选择以下一种方法:
方法A:手动清除(适合技术较好、病毒范围较小的情况)
- 备份干净的核心文件:从织梦DedeCMS的官方网站下载一个与你当前版本完全相同的、干净的安装包,用这个安装包里的干净文件,去覆盖你网站上被修改的核心文件(见第二步中列出的文件列表)。
- 清理被感染的文件:
- 对于
index.php等入口文件,找到并删除所有可疑的代码段(通常是eval(...)或base64_decode(...)相关的代码块)。 - 检查你的网站目录下是否有你不认识的、奇怪的文件(
.txt文件包含PHP代码,或者一些.php文件名很随机),这些文件通常是病毒生成的,直接删除。
- 对于
- 检查数据库:
- 登录你的phpMyAdmin,检查数据库中的
dede_archives(文章表)、dede_arctype(栏目表) 等内容表。 - 查看文章内容或栏目描述中是否被插入了恶意链接、
<iframe>标签或<script>标签,如果有,手动删除它们。
- 登录你的phpMyAdmin,检查数据库中的
方法B:彻底重装(最安全、最推荐的方法)
如果你的网站被感染得很严重,或者你不确定是否已经清除干净,这是最一劳永逸的方法。
- 备份数据:
- 数据库备份:通过phpMyAdmin导出你的数据库,保存为
.sql文件。这是最重要的! - 附件/文件备份:通过FTP下载你网站
/uploads/目录下的所有用户上传的文件(图片、文档等)。
- 数据库备份:通过phpMyAdmin导出你的数据库,保存为
- 清空网站:
- 通过FTP删除你网站根目录下的所有文件和文件夹,为了安全起见,不要删除
.ftpquota等隐藏的系统文件,但所有织梦文件都要删掉。
- 通过FTP删除你网站根目录下的所有文件和文件夹,为了安全起见,不要删除
- 重新安装:
- 从DedeCMS官网下载一个全新的、干净的安装包。
- 通过FTP上传这个新包里的所有文件到你的网站根目录。
- 运行安装程序(访问你的域名/install/),按照提示进行安装,在安装过程中,系统会要求你输入之前备份的数据库信息。
- 恢复数据:
- 安装完成后,网站是一个全新的、干净的空壳。
- 使用phpMyAdmin,选择你新安装的数据库,然后先清空所有表(
TRUNCATE TABLE),再导入你之前备份的.sql数据库文件,这样就把你的内容恢复到了干净的新系统里。 - 通过FTP把你之前备份的
/uploads/文件夹内容,上传回新网站的/uploads/目录下。
- 检查和修复:
- 登录后台,检查网站是否恢复正常。
- 检查所有文章和页面,确保没有残留的恶意代码。
- 修改所有默认信息:修改后台管理员用户名和密码、网站标题等。
第四步:加强安全,防止再次感染
清除病毒只是第一步,如果不加固,很快会被再次入侵。

(图片来源网络,侵删)
- 更新程序:确保你的DedeCMS是最新版本,旧版本存在大量已知的安全漏洞。
- 删除无用文件和目录:
- 安装目录
/install/在安装完成后必须删除。 - 删除
/data/cache/目录下的所有缓存文件(除了index.html)。 - 删除不需要的会员、插件等模块。
- 安装目录
- 修改文件和目录权限:
- 重要:将网站目录(除
uploads和static等需要写入的目录外)的权限设置为 755。 - 重要:将
uploads、data等需要写入的目录的权限设置为 755 或 777(777风险极高,仅在必要时使用,用完后改回755),目录权限通常设置为 755。 - 重要:将所有
.php文件的权限设置为 644。 - 重要:将所有
.html文件的权限设置为 644。 - (权限数字说明:所有者、用户组、其他人,7=读写执行,5=读执行,6=读写,4=读,0=无)
- 重要:将网站目录(除
- 使用安全插件/防火墙:
- 在服务器或虚拟主机上开启 WAF (Web Application Firewall),如 云锁、安全狗 等,它们能有效拦截常见的攻击。
- 为DedeCMS安装一些安全加固插件,如“安全狗DedeCMS版”等。
- 定期备份:养成定期备份网站文件和数据库的习惯,并备份到不同的地方(如本地硬盘、云存储),这样即使再次中毒,也能快速恢复。
如果以上步骤你操作困难
如果你不熟悉这些技术操作,最好的办法是:
立即联系你的网站服务商或专业的网站安全维护人员。 他们有专业的工具和经验,可以帮你快速、安全地解决问题,并进行后续的安全加固,这通常比自己摸索更高效,也更安全。
