如何防范WordPress站点被恶意发布垃圾帖子/文章
WordPress垃圾广告帖问题答复
这类问题是否属于WordPress站点常见情况
这是开放公网访问的WordPress站点非常普遍的遭遇,不是你的站点存在独有的严重安全漏洞。只要站点存在公开可提交内容的入口且未做针对性防护,基本都会被自动化垃圾发布脚本扫描到,这类脚本不会费劲破解你的管理员账号进后台发内容,90%以上的情况都是直接利用站点开放的公开提交通道批量发稿。
第一步先定位垃圾内容来源
你已经确认核心程序、插件均为最新版本,Wordfence也没扫到异常,且只有你自己有后台访问权限,不用往后台被入侵的方向硬查,优先排查这几个高频漏洞点:
- 先查看垃圾内容的文章类型:如果是默认的
post文章类型,检查是否开启了游客匿名投稿、开放用户注册后给新用户默认分配了投稿者/作者权限、评论区是否允许游客直接发布带链接的内容且无需审核;如果是自定义文章类型,检查对应类型的提交权限是否对游客开放 - 排查站点安装的表单类、前台投稿类插件:不少这类插件默认没有搭载垃圾内容校验逻辑,只要插件开启了投稿提交功能,脚本可以直接构造请求批量发稿
- 检查REST API权限配置:部分WordPress站点因为配置不当,未登录用户可以直接调用内容提交相关的REST接口,哪怕你没开任何前台投稿入口,脚本也能通过接口发内容
可落地的全流程防范方案
先补全权限漏洞
- 立刻关闭公开用户注册通道,如果业务确实需要开放注册,把新用户默认角色调整为「订阅者」,该角色没有任何内容发布权限,禁止给新用户默认分配投稿者及以上权限
- 所有前台投稿、表单提交功能,全部强制要求用户登录后才能操作,投稿操作增加二次身份校验
- 给主题的
functions.php添加权限校验代码,拦截未登录用户对内容提交类REST API的请求,只保留必要的公开内容查询接口权限 - 批量清理已发布、待审核状态的垃圾内容,逐篇检查是否植入恶意跳转代码,避免违规内容残留被搜索引擎降权
叠加多层垃圾内容拦截规则
- 不要仅依赖Wordfence做安全防护,给所有内容提交入口(注册、投稿、评论)加上人机校验,优先选用交互门槛低、识别精度高的人机验证方案,避免使用简单算术类验证码,这类验证码早已被自动化脚本批量破解
- 增加提交频率限制:同一IP、同一未登录用户10分钟内最多允许提交1次内容,单日提交超过2次直接临时封禁IP
- 配置关键词拦截规则:把婚恋、交友、引流类的高频广告关键词加入内容黑名单,触发关键词的提交内容直接标记为待审核或自动拦截,不允许直接发布
- 拦截游客提交内容中的非本站外链:绝大多数垃圾广告的核心目的是留外链引流,直接拦截带站外链接的游客提交内容,就能挡住80%以上的批量垃圾稿
长期运维注意事项
- 所有用户提交的内容(包括投稿、评论),全部设置为管理员人工审核通过后才能发布,不要开启自动发布
- 定期审计站点用户列表,批量清理异常注册的垃圾账号,不要保留无真实操作记录的可疑作者权限账号
- 彻底关闭业务不需要的用户注册、前台投稿功能,不用的功能不要留着闲置,减少可被利用的攻击面
内容的提问来源于stack exchange,提问作者user3138249
相关产品推荐
相关产品推荐

