在 Wordpress 中保护 REST API
ARTRU
这也是我思考了很久的同一个问题。在了解了 API 之后,我得到了答案。
REST API 完全集成在 WordPress 4.7 (2016) 版中。所以 WordPress 管理功能依赖于 API。
但是,您可以使用过滤器来验证 API 用户请求。这有效地阻止了外部 API 访问,而不会影响 ADMIN 帐户。
将代码插入主题/子主题或mu-plugins的functionc.php文件中(我使用mu-plugins作为网站的功能配置文件)。
PHP代码:
/** Tắt REST API cho người dùng chưa đăng nhập */
add_filter( 'rest_authentication_errors', function( $result ) {
if ( true === $result || is_wp_error( $result ) ) {
return $result;
}
if ( ! is_user_logged_in() ) {
return new WP_Error(
'rest_not_logged_in',
__( 'You are not currently logged in.' ),
array( 'status' => 401 )
);
}
return $result;
});
相关文章