如何使用iThemes Security Pro应用密码访问受限制的WordPress REST API
如何使用iThemes Security Pro应用密码访问WordPress REST API
你已经完成了关键的第一步——创建应用密码,但问题出在没把认证信息正确传递给REST API。下面是一步步的解决方法:
核心逻辑
iThemes Security Pro的应用密码兼容WordPress原生的Basic Authentication机制,你需要在请求里带上身份认证信息,让API识别你的合法身份,从而绕过访问限制。
具体操作步骤
1. 拼接认证基础字符串
把你的WordPress用户名和生成的应用密码用冒号(:)连起来,格式如下:
你的用户名:你的应用密码
举个例子:如果用户名是wp_admin,应用密码是xyz1 abc2 def3 ghi4(注意密码里的空格要保留,不要删除),拼接后就是:
wp_admin:xyz1 abc2 def3 ghi4
2. 转换成Base64编码
把上面的拼接字符串转成Base64格式,你可以用这些方式实现:
- 终端命令(Linux/macOS):
echo -n "wp_admin:xyz1 abc2 def3 ghi4" | base64 - 在线工具:随便搜一个Base64编码工具,粘贴字符串就能生成结果。
- 代码实现(Python示例):
import base64 auth_str = b"wp_admin:xyz1 abc2 def3 ghi4" encoded_str = base64.b64encode(auth_str).decode("utf-8") print(encoded_str)
3. 在请求中加入认证头
把生成的Base64编码放到请求的Authorization头里,格式为:
Authorization: Basic 你的Base64编码结果
实际请求示例
- 用curl测试:
curl -H "Authorization: Basic d3BfYWRtaW46eHlxMSBhYmMyIGRlZjMgZ2hpNA==" https://creepypastaholics.com/index.php/wp-json/wp/v2/posts - 用Postman测试:
- 新建GET请求,填入你的API地址
- 切换到「Authorization」标签页,认证类型选「Basic Auth」
- 填入用户名和应用密码,Postman会自动处理编码和头信息,直接发送请求即可
额外注意点
- 必须使用HTTPS:Basic认证的编码内容本质是明文,只有HTTPS环境下才安全,很多主机或安全插件也会强制要求HTTPS下的认证请求。
- 检查iThemes配置:如果还是报错,去iThemes Security Pro的「REST API」设置里,确认没有额外规则(比如IP白名单)拦截了认证后的请求,同时确保应用密码所属的用户有访问对应API端点的权限(管理员用户默认有权限)。
内容的提问来源于stack exchange,提问作者Đạt Đỗ Tất
相关产品推荐
相关产品推荐

