深度治理 WordPress REST API:防止站点敏感敏感信息(用户名列表)外泄 – 自由看
WordPress 工程化与高阶实践

深度治理 WordPress REST API:防止站点敏感敏感信息(用户名列表)外泄

深度治理 WordPress REST API:防止站点敏感敏感信息(用户名列表)外泄

默认状态下,WordPress 开启的 REST API 功能会将你站点的注册用户路由无保留地公开在 /wp-json/wp/v2/users 下。黑客可以通过此路由直接拉取到网站后台所有管理员与作者的登录别名。针对此隐患,一刀切地关闭整个 API 极易导致块编辑器(Gutenberg)崩溃,正确的方案是对非认证用户提供细粒度的权限甄别。

一、 纯代码无插件细粒度控制

在主题的 functions.php 中挂载拦截拦截过滤器,只对未登录的匿名公网请求限制其获取特定敏感终节点:

add_filter('rest_authentication_errors', function($result) {
    if (!empty($result)) return $result;
    if (!is_user_logged_in()) {
        $route = $_SERVER['REQUEST_URI'] ?? '';
        if (strpos($route, '/wp/v2/users') !== false) {
            return new WP_Error('rest_forbidden_route', '为了全栈安全加固,此端点已屏蔽外部访问。', array('status' => 403));
        }
    }
    return $result;
});

🔒 企业全栈加固保障

本文策略基于本博客独立网络空间测试验证。若您的企业站点正经受突发性的高频漏洞扫描或等保认证审计卡壳,欢迎了解并 [预约全栈安全架构调优服务]。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注