WordPress 的 REST API 是一个强大的工具,可以通过 HTTP 请求与网站进行交互。然而,有时候你可能希望限制 API 的访问,特别是对未登录的用户,以提高安全性或保护隐私。
如何禁止未登录用户访问 REST API?
默认情况下,WordPress 允许某些 REST API 的端点被公开访问。要限制这些访问,可以使用 rest_authentication_errors
过滤器。以下代码会阻止未登录用户的 REST API 请求,并返回自定义错误信息。
这段代码的作用
rest_authentication_errors
过滤器:此过滤器用于处理 REST API 的身份验证错误。- 检查已有错误:如果
$result
已包含错误,则直接返回。 - 验证用户会话:如果用户未登录(
!is_user_logged_in()
),则返回一个WP_Error
,包含自定义消息和 HTTP 状态代码 401(未授权)。 - 返回结果:如果不满足上述条件,则继续处理正常的请求。
结果
通过这段代码,未登录用户在访问 REST API 时将收到提示信息,要求登录后才能继续操作。这样可以有效保护 REST API 不被未经授权的用户访问。
Leave A Comment