远程发布WordPress文章安全操作指南

优先选安全传输方式

用 WordPress REST API 替代 XML-RPC(风险更高),强制开启 HTTPS 加密传输数据,避免明文泄露。

强化身份验证

启用 OAuth 1.0a 或应用密码认证,禁用简单 HTTP 基础认证;搭配双因素认证(2FA)和 reCAPTCHA 验证,杜绝暴力破解。

1. 首选:OAuth 1.0a 认证(最安全)

  • 适用场景:第三方工具 / 自定义程序远程调用 REST API
  • 原理:通过 “消费者密钥(Consumer Key)” 和 “消费者密钥密钥(Consumer Secret)” 生成签名,每次请求均包含时间戳和随机数,避免密钥明文传输。
  • 优势:无需暴露账号密码,支持细粒度权限控制(如仅允许 “发布文章” 操作),即使请求被拦截也无法复用签名。
  • 实现方式
    • 安装插件(如WP OAuth Server)在 WordPress 端启用 OAuth 服务;
    • 第三方工具(如 Python 脚本、客户端程序)通过 OAuth 库(如oauth1-requests)生成签名请求。

2. 次选:应用密码(Application Passwords,WordPress 原生支持)

  • 适用场景:轻量远程发布(如脚本自动化、简单工具集成)
  • 原理:为 WordPress 用户生成独立的 “应用密码”(非登录密码),与用户名绑定,支持单独 revoke(吊销)。
  • 优势:原生支持(WordPress 5.6+),无需额外插件,可避免主密码泄露,泄露后仅需吊销该应用密码即可。
  • 注意事项
    • 必须强制开启 HTTPS(否则密码会明文传输);
    • 应用密码需妥善保管,建议按用途生成不同密码(如 “脚本发布”“工具 A” 分别设置)。

限制访问权限

给远程发布账号分配 “作者” 等最小权限,通过.htaccess 或 Cloudflare 设置 IP 白名单,仅允许信任 IP 访问接口。

禁用冗余功能

无需 XML-RPC 时,用插件或代码禁用(添加add_filter(‘xmlrpc_enabled’, ‘__return_false’);到 functions.php),关闭system.multicall方法防批量攻击。

安全配置与监控

使用 Wordfence 等安全插件防护,定期检查服务器日志,用 Fail2Ban 自动封禁恶意 IP;账号密码需含字母、数字和特殊符号(长度≥12 位),不使用 admin 默认用户名。

zh_CNChinese