在 Wordpress 中保护 REST API

ARTRU

是否可以禁用 REST API?

这也是我思考了很久的同一个问题。在了解了 API 之后,我得到了答案。

REST API 完全集成在 WordPress 4.7 (2016) 版中。所以 WordPress 管理功能依赖于 API。

但是,您可以使用过滤器来验证 API 用户请求。这有效地阻止了外部 API 访问,而不会影响 ADMIN 帐户。

插入 php 代码以禁用 REST API

将代码插入主题/子主题或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;
});
评论

相关文章