这个问题通常意味着黑客通过某种方式修改了你的网站数据,在友情链接(flink)相关的模板文件或数据库记录中,插入了一段恶意的JavaScript代码,当用户访问你的网站时,这段恶意代码就会在他们的浏览器中执行,从而可能导致网站流量被劫持、用户电脑中毒、网站被搜索引擎降权甚至封禁。

(图片来源网络,侵删)
下面我将为你提供一个详细的“诊断-清除-加固”三步解决方案。
第一步:诊断与定位挂马点
在动手修复之前,必须先找到恶意代码藏在哪里,友情链接的挂马点通常有两个地方:数据库 和 模板文件。
检查数据库(最常见)
这是最有可能被篡改的地方,黑客会直接修改 dede_flink(或类似前缀的)数据表中的 url 或 webname 字段。
操作步骤:

(图片来源网络,侵删)
- 登录你的网站数据库管理工具,通常是
phpMyAdmin。 - 选择你的网站数据库。
- 找到友情链接的数据表,表名通常是
dede_flink,但也可能是#@__flink(#@__是 DEDE 的表前缀,你的可能不同,phpcms_flink等,请自行确认)。 - 浏览表中的数据,仔细查看每一行的 “网站名称” (
webname) 和 “网站地址” (url)。- 看
webname:正常情况下是网站的中文名称,检查是否有被修改成<script>...</script>、<iframe>...</iframe>或者一些奇怪的、毫无意义的字符。 - 看
url:正常情况下是http://或https://开头的网址,检查是否被修改成了指向恶意网站的链接,或者本身就包含了<script>代码。
- 看
示例:
你可能会发现一条友情链接,它的 webname 是“友情链接”,但 url 却是 http://www.malicious-site.com/xxx.js,或者 webname 本身就是 <script src='http://www.hacker.com/m.js'></script>。
检查模板文件
如果数据库是干净的,那么问题很可能出在调用友情链接的模板文件上,黑客可能修改了模板,在友情链接列表之外的地方添加了恶意代码。
操作步骤:
- 通过FTP或文件管理器,登录你的网站服务器。
- 找到DEDE的模板目录,通常是
/templets/。 - 定位到相关的模板文件:
- 首页的友情链接通常在
default/index.htm文件中,查找类似{dede:flink row='24' type='text'}这样的标签。 - 如果网站有多个页面使用友情链接,也需要检查对应的模板文件,如
footer.htm(页脚模板) 等。
- 首页的友情链接通常在
- 打开这些模板文件,用代码编辑器(如 VS Code, Sublime Text, Notepad++)查看其内容。
- 重点检查文件的开头、以及
{dede:flink}标签的周围。 - 搜索文件中是否包含
<script>、<iframe>、eval、document.write等可疑的JavaScript代码,这些代码可能被伪装成注释或者藏在某个不显眼的<div>里。
- 重点检查文件的开头、以及
第二步:清除恶意代码
根据第一步的诊断结果,进行针对性清除。
情况A:数据库中被挂马
- 登录 phpMyAdmin。
- 进入
dede_flink数据表。 - 直接编辑或删除被篡改的记录。
- 编辑:点击被篡改记录的“编辑”按钮,将
webname和url字段恢复到正常状态,然后点击“执行”。 - 删除:如果这条链接你不需要,直接勾选它,然后点击“删除”。
- 编辑:点击被篡改记录的“编辑”按钮,将
- 检查完毕后,务必清空DEDE的缓存,登录DEDE后台 -> 系统 -> 系统基本参数 -> 性能选项 -> “更新网站缓存HTML”,点击“更新”,这能确保后台读取的是最新的数据库数据。
情况B:模板文件中被挂马
- 通过FTP下载被修改的模板文件(
index.htm)到你的电脑。 - 用代码编辑器打开它。
- 找到并删除所有恶意代码,只保留DEDE原有的
{dede:flink}等合法标签和HTML结构。 - 保存文件,然后通过FTP上传回服务器,覆盖原文件。
- 同样,登录DEDE后台清空缓存。
第三步:安全加固(防止再次被挂马)
清除只是治标,加固才是治本,如果你的网站后台密码很弱或者存在漏洞,黑客会再次进来。
修改后台密码和入口(最重要!)
- 设置强密码:将DEDE后台管理员密码修改为大小写字母+数字+特殊符号的组合,长度至少12位,不要使用生日、姓名等弱密码。
- 修改后台目录名:将
/dede/这个默认的后台目录名修改成一个别人猜不到的名字,如/myadmin/、/abc123/等,修改方法:直接在FTP里重命名文件夹,然后修改/include/config_base.php文件里的$cfg_admindir = 'myadmin';(改成你的新目录名)。
文件权限加固
这是防止网页被篡改的关键,通过FTP或SSH,设置关键目录和文件的权限。
- 目录权限:网站根目录、
/templets/、/data/等目录设置为755。 - 文件权限:
- PHP文件(如
.php)设置为644。 - 配置文件(如
/data/common.inc.php)设置为644,如果服务器支持,可以设置为更严格的600(仅所有者可读写)。 - 缓存目录(如
/data/cache/)下的文件可以设置为666,以便DEDE程序能写入。
- PHP文件(如
警告:不要将整个网站目录或所有文件都设置为
777,这是极其危险的做法,会让任何人都可以修改你的网站文件。
定期检查与更新
- 检查文件修改时间:定期通过FTP查看核心文件(如
index.php,common.inc.php)的修改时间,如果发现你从未修改过的文件在最近被修改了,就要警惕了。 - 关注DEDE官方:关注 DedeCMS 官方论坛或安全公告,及时下载并安装安全补丁和程序更新,旧版本的DEDE漏洞非常多。
使用安全插件或服务
- 可以安装一些DEDE的安全防护插件,它们可以监控文件变化、拦截非法请求等。
- 如果对技术不熟悉,可以考虑找专业的网站安全公司进行一次安全体检和加固。
排查流程:
- 查数据库:看
dede_flink表里的webname和url。 - 查模板:看
templets目录下的index.htm等文件。 - 清代码:删除或修正恶意代码。
- 清缓存:在DEDE后台更新缓存。
- 强加固:改密码、改后台目录、设文件权限。
- 勤维护:定期检查,保持更新。
按照这个流程操作,应该能彻底解决你的友情链接挂马问题,并大大提高网站的安全性,祝你成功!
