请不要慌张,按照以下步骤,你可以系统地排查并解决这个问题,整个过程可以分为“紧急处理”、“根源排查”和“长期加固”三个阶段。

(图片来源网络,侵删)
第一阶段:紧急处理(立刻止血)
这个阶段的目的是快速清除黑链,恢复网站正常访问,防止损失扩大。
立即切断黑客的访问通道
这是最紧急的一步,黑客可能还在通过某个后门持续操作。
- 修改后台密码:立即登录你的网站后台,修改管理员密码、FTP密码、数据库密码,密码要足够复杂(大小写字母+数字+符号)。
- 检查并修改数据库密码:进入
data/common.inc.php文件,修改数据库连接密码,确保与后台新密码一致。 - 检查并修改FTP/SFTP密码:如果黑客是通过FTP上传的,立即修改FTP密码。
定位并删除黑链代码
黑链通常被隐藏在网站的前端文件中,目的是提高某些不良网站的搜索引擎排名。
-
黑链常见藏匿位置:
(图片来源网络,侵删)- 首页模板:
/templets/default/index.htm(或其他你正在使用的模板目录) - 公共头部/底部文件:
/templets/default/head.htm,/templets/default/foot.htm - 公共CSS文件:
/templets/default/style/dedecms.css(黑客可能会在CSS文件的@import或注释中插入代码) - 公共JS文件:
/templets/default/js/目录下的文件 - 网站底部文件:
/include/controls/footer.php - 全站通用文件:
/include/common.inc.php(较少见,但可能性存在) - 图片或文件中:黑客可能会将代码伪装成图片(如
jpg),然后通过<script src="1.jpg"></script>的方式引入。
- 首页模板:
-
查找方法:
- 手动查找:用FTP工具或代码编辑器(如VS Code, Dreamweaver)打开上述文件,仔细检查文件的开头、注释部分(
<!-- -->),寻找你不认识的、包含大量英文单词(如casino,poker,loan等)的<iframe>,<script>,<link>标签,或者@importurl语句。 - 使用工具批量查找:如果你有很多文件需要检查,可以使用Linux服务器的
grep命令快速查找。# 在网站根目录下执行,查找所有包含特定黑链关键词的文件 grep -r "blacklink_keyword" .
将
blacklink_keyword替换为黑链中可能包含的词。
- 手动查找:用FTP工具或代码编辑器(如VS Code, Dreamweaver)打开上述文件,仔细检查文件的开头、注释部分(
清理数据库
黑客会将黑链代码写入数据库的某个表字段里(如文章内容、页面模板等)。
- 检查数据表:登录你的phpMyAdmin,检查
dede_archives(文章表)、dede_page(单页文档表) 等主要内容表。 - 查找并替换:使用phpMyAdmin的“搜索”功能,在整个数据库或特定表中搜索黑链的关键词,如果找到,使用“替换”功能将恶意代码清空。操作前务必备份数据库!
第二阶段:根源排查(找到病根)
清除了黑链只是治标,不找到黑客是如何进来的,网站很快会被再次挂马。

(图片来源网络,侵删)
**1. 检查上传目录 (uploads/)`
这是最常见的安全漏洞点,黑客会上传一个Webshell(如 shell.php, jpg.php)到你的上传目录,然后用它来控制网站。
- 检查文件:用FTP工具进入
/uploads/目录及其所有子目录(如imgpath/,allimg/等)。 - 识别可疑文件:查找文件名奇怪、文件大小异常、修改时间是你不记得的时间点的文件,特别注意文件名中包含
shell,cmd,config,admin等关键词的文件,或者伪装成图片/文档但后缀是.php,.phtml的文件(如jpg.php)。 - 处理方法:立即删除所有可疑文件,如果不确定,可以先下载下来用杀毒软件扫描。
检查网站根目录和核心文件
黑客可能修改了DedeCMS的核心文件来开后门。
- 重点检查文件:
/member/config.php(会员中心配置)/dede/config.php(后台配置)/include/dedesql.class.php(数据库操作类,容易被加后门)/include/目录下的其他.php文件
- 检查方法:用代码编辑器打开这些文件,查看文件末尾是否有奇怪的、不属于DedeCMS原代码的代码段,黑客通常会在文件末尾加上一个
?>之后再插入恶意代码。
检查数据库中的恶意数据
黑客可能会在数据库里插入了管理员、广告或其他恶意数据。
- 检查管理员表:在
dede_admin表中,检查是否有你不认识的管理员账号,立即删除。 - 检查广告表:在
dede_admintype和dede_ad等广告相关的表中,检查是否有可疑的广告内容。
检查服务器环境
如果网站被反复入侵,问题可能出在服务器上。
- 共享主机:如果你的网站和许多其他网站在同一台服务器上,可能是隔壁网站被入侵,导致服务器整体沦陷,联系你的主机商,检查服务器安全。
- 独立/VPS服务器:
- 检查是否有其他网站目录被入侵。
- 检查系统用户和密码是否被破解。
- 检查是否有异常的进程在运行。
- 检查Web服务器(Apache/Nginx)的配置文件,看是否有被添加了恶意重定向规则。
第三阶段:长期加固(增强免疫力)
完成以上步骤后,你需要加强网站的安全设置,防止再次被攻击。
升级到最新版本的DedeCMS
DedeCMS官方会不断修复安全漏洞。立即将你的网站升级到最新稳定版本,这是最重要、最有效的安全措施。
修改默认配置
- 修改后台目录名:将
/dede/目录重命名为一个复杂的、别人不容易猜到的名字(如myadmin_xxx123),修改后,在/include/config_base.php文件中找到$cfg_cmspath和$cfg_adminfolder变量,更新新的后台目录名。 - 修改数据表前缀:如果网站是新安装的,尽量不要使用默认的
dede_前缀,如果已经安装,可以通过一些工具修改表前缀,增加被猜中的难度。 - 关闭不需要的模块:进入后台“系统” -> “系统基本参数” -> “核心设置”,关闭不需要的模块,如“会员空间”、“评论”等,减少攻击面。
加强文件和目录权限
- 设置目录权限:通过FTP或SSH,将网站目录的权限设置为 755。
- 设置文件权限:将PHP文件的权限设置为 644。
- 设置关键目录权限:将
data/目录设置为 755 或 750,将uploads/目录也设置为 755 或 750,确保Web服务器用户(如www-data,apache)只有读取和执行权限,没有写入权限,这可以极大提高安全性,即使上传了恶意脚本也无法执行。
定期备份
养成定期备份的好习惯,包括:
- 网站文件:每周备份一次。
- 数据库:每天备份一次。
- 备份策略:将备份文件保存在本地和另一个服务器上,不要和网站放在同一台服务器上。
安装安全插件
可以考虑安装一些DedeCMS的安全插件,它们可以帮助你:
- 实时监控文件修改。
- 防止SQL注入和XSS攻击。
- 限制后台登录IP。
- 封禁恶意IP。
关注安全资讯
关注DedeCMS官方论坛、安全社区(如乌云知识库、SeeThru)等,及时了解最新的漏洞信息和补丁。
总结流程
- 紧急处理:改密码 -> 删除前端黑链代码 -> 清理数据库。
- 根源排查:清空上传目录 -> 检查核心文件是否被篡改 -> 检查数据库是否有恶意数据 -> 检查服务器环境。
- 长期加固:升级到最新版 -> 修改默认配置(后台目录、表前缀) -> 设置严格的文件权限 -> 定期备份 -> 安装安全插件。
处理这类问题需要耐心和细心,如果你对技术不熟悉,建议寻求专业的网站安全服务或熟悉的程序员帮助,以免操作不当造成更严重的后果。
