在 Wordpress 中保护 REST API

ARTRU
使用 EarnApp 赚取被动收入。立即下载应用!
Earnapp 联盟会员 https://earnapp.com/i/pytzux9

是否可以禁用 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;
});
评论

相关文章