所有WordPress站长注意:你的网站可能正在“给菠菜站引流”!

UID:5 游客组

就在刚才,我接到了一个紧急电话,是服务器商打来的。对方语气很严肃,说监测到我的网站出现了非法内容,要求立即清理,否则就要关停站点!

当时我心里一惊:网站明明运行正常,内容也都是正规的,怎么可能有非法内容?

挂掉电话,我立刻登录后台、检查服务器文件,折腾了一圈都没发现问题。最后,按照服务商给的线索,我打开了网站的 Feed 订阅源(就是那个 /feed 地址)。

查看页面源代码后,一行不起眼的代码让我瞬间明白了问题所在:

xml

xmlns:wfw="http://wellformedweb.org/CommentAPI" 

我下意识地复制这个 wellformedweb.org 到浏览器里打开------页面直接跳转到了一个赤裸裸的菠菜(博彩)网站!

这下我全懂了。问题就出在这个已经存在了超过15年、被WordPress硬编码在RSS Feed里的远古链接上。


:thinking: 一个15年的"老古董",为何成了定时炸弹?

这个 wellformedweb.org 是什么来头?简单说,它是上古时期(约2003年)为博客RSS订阅实现评论功能的一个技术规范网站。因为历史原因,WordPress为了兼容性,一直在Feed中硬编码了指向它的链接。

本来这也没什么,无非是个过时的技术遗产。但问题在于,这个域名早已被人遗忘,原持有者没有续费。现在,它被黑产团伙盯上并抢注了,摇身一变成了菠菜站。

虽然它只是一个"命名空间声明",不会直接给你的网站挂马,也不会让读者自动跳转。但关键在于,云服务商的安全扫描、搜索引擎的爬虫,会无差别提取你页面里的每一个URL。一旦扫到这个URL指向非法内容,就会判定你的网站"涉黄涉赌",轻则警告整改,重则直接封禁域名!

这是一个不是你干的,却要你背锅的"无妄之灾"。


:warning: 影响有多大?几乎波及所有WordPress站点

毫不夸张地说,只要你的网站用的是WordPress,无论版本新旧,无论是否更新了补丁,只要没有手动处理过,99%的站点都存在这个问题

我随手查了几个朋友的站,一查一个准。这不是危言耸听,这是WordPress官方代码里留下的"历史包袱"。


:hammer_and_wrench: 怎么解决?三套方案,站长请自取!

发现问题后就要立刻解决。网上有些教程教直接改WordPress核心文件(/wp-includes/feed-rss2.php),我强烈不建议这么做。一来容易手误改坏网站,二来下次WordPress一升级,修改就被覆盖了,白忙活。

这里推荐两种优雅且一劳永逸的方法:

方案一:Code Snippets插件法(最推荐,适合所有人)

这是最安全、最简单的方法,不需要折腾代码,直接复制粘贴即可。

  1. 安装并启用 Code Snippets 插件。

  2. 添加一个"新代码片段"。

  3. 将以下代码完整粘贴进"代码"框,然后选择"在前端执行",保存并激活。

php

/**  * 完美清理 WordPress RSS 中菠菜域名 wellformedweb.org 的引用  * 代码来源:秋风于渭水(感谢贡献)  */ add_action('template_redirect', 'perfect_clean_rss2_buffer', 0); function perfect_clean_rss2_buffer() {     if (is_feed('rss2')) {         ob_start('rss2_namespace_cleaner');     } } function rss2_namespace_cleaner($buffer) {     // 1. 移除开头的命名空间声明     $search_pattern = '/xmlns:wfw="http:\\/\\/wellformedweb\\.org\\/CommentAPI\\/?"\\s*/i';     $buffer = preg_replace($search_pattern, '', $buffer);     // 2. 移除每篇文章下的评论RSS标签     $comment_pattern = '/<wfw:commentRss>.*?<\\/wfw:commentRss>\\s*/i';     $buffer = preg_replace($comment_pattern, '', $buffer);     return $buffer; } 

保存后,去刷新一下你的Feed页面,查看源代码,那行该死的代码就消失啦!

方案二:修改当前主题的 functions.php

如果你不想装插件,也可以把上面这段代码,添加到当前启用主题的 functions.php 文件末尾。注意:更换主题时可能会失效,记得换回来时重新加一下。

方案三:Nginx 用户专属(服务器端)

如果你对服务器有管理权限,且用的是Nginx,可以在配置文件中加入以下替换规则,从源头过滤,性能更好:

nginx

location ~* /feed/?$ {     sub_filter 'xmlns:wfw="http://wellformedweb.org/CommentAPI/"' '';     sub_filter_once off;     sub_filter_types application/rss+xml text/xml;     try_files $uri $uri/ /index.php?$args; } 

:speech_balloon: 写在最后

这次事件给我们所有站长敲响了警钟:互联网没有永恒的朋友,只有永恒的利益。我们依赖的任何一个外部资源、域名,哪怕它是官方写死在代码里的,都有可能在多年后变质,成为攻击我们的武器。

各位站长,如果你看到这篇帖子,请务必立刻检查一下自己的网站!不要等到服务商打电话、甚至直接封站时才后悔莫及。

自查方法:在浏览器中打开 https://你的域名/feed/,右键查看网页源代码,搜索 wellformedweb.org。如果能搜到,你就要马上动手清理了。

最新回复
  • Amiya_desi UID:65 一级用户组

    谢谢提醒,已经修复了,这个问题很严重吧,得多少人。。

    1月前
  • Halcyon UID:114 一级用户组

    这个域名权重绝对高,居然不续费。。

    1月前
  • V我50吃肯德基 UID:59 一级用户组

    WordPress官方是干什么吃的,这都能忘记续费

    1月前

请先登录后再回复 登录

发帖 0
评论 0
粉丝 0
关注 0
发新帖
目录
所有WordPress站长注意:你的网站可能正在“给菠菜站引流”!