WordPress有哪些默认的api接口?

网站类4个月前发布 FRE_SKY
129 00

WordPress 默认开放的一些用户接口若未经适当保护,可能会使得用户信息面临未经授权的访问风险,进而构成安全隐患。

WordPress有哪些默认的api接口

1. Posts(文章)
获取所有文章/wp/v2/posts
获取特定文章/wp/v2/posts/{id}
创建文章(需要认证)/wp/v2/posts
更新文章(需要认证)/wp/v2/posts/{id}
删除文章(需要认证)/wp/v2/posts/{id}
2. Pages(页面)
获取所有页面/wp/v2/pages
获取特定页面/wp/v2/pages/{id}
创建页面(需要认证)/wp/v2/pages
更新页面(需要认证)/wp/v2/pages/{id}
删除页面(需要认证)/wp/v2/pages/{id}
3. Media(媒体)
获取所有媒体文件/wp/v2/media
获取特定媒体文件/wp/v2/media/{id}
上传媒体文件/wp/v2/media
更新媒体文件/wp/v2/media/{id}
删除媒体文件/wp/v2/media/{id}
4. Users(用户)
获取所有用户/wp/v2/users
获取特定用户/wp/v2/users/{id}
创建用户(需要认证)/wp/v2/users
更新用户(需要认证)/wp/v2/users/{id}
删除用户(需要认证)/wp/v2/users/{id}
5. Comments(评论)
获取所有评论/wp/v2/comments
获取特定评论/wp/v2/comments/{id}
创建评论/wp/v2/comments
更新评论(需要认证)/wp/v2/comments/{id}
删除评论(需要认证)/wp/v2/comments/{id}
6. Taxonomies(分类法)
获取所有分类法/wp/v2/taxonomies
获取特定分类法/wp/v2/taxonomies/{taxonomy}
7. Categories(分类)
获取所有分类/wp/v2/categories
获取特定分类/wp/v2/categories/{id}
创建分类(需要认证)/wp/v2/categories
更新分类(需要认证)/wp/v2/categories/{id}
删除分类(需要认证)/wp/v2/categories/{id}
8. Tags(标签)
获取所有标签/wp/v2/tags
获取特定标签/wp/v2/tags/{id}
创建标签(需要认证)/wp/v2/tags
更新标签(需要认证)/wp/v2/tags/{id}
删除标签(需要认证)/wp/v2/tags/{id}
9. Settings(设置)
获取站点设置(需要认证)/wp/v2/settings
更新站点设置(需要认证)/wp/v2/settings

如何禁用这样的接口?

在您的主题文件夹中找到functions.php文件中,在最底部加上代码,如文提供,根据需要进行测试验证。

/**用户枚举**/
add_filter('rest_endpoints', function($endpoints){
    if(isset($endpoints['/wp/v2/users'])){
        unset($endpoints['/wp/v2/users']);
    }
    if(isset($endpoints['/wp/v2/users/(?P<id>[\d]+)'])){
        unset($endpoints['/wp/v2/users/(?P<id>[\d]+)']);
    }

    return $endpoints;
});
// 屏蔽 REST API 用户接口
add_filter('rest_endpoints', function($endpoints){
	if(isset($endpoints['/wp/v2/users'])){
		unset($endpoints['/wp/v2/users']);
	}
	if(isset($endpoints['/wp/v2/users/(?P<id>[\d]+)'])){
		unset($endpoints['/wp/v2/users/(?P<id>[\d]+)']);
	}

	return $endpoints;
});

// 禁用wp-sitemap所有用户
add_filter( 'wp_sitemaps_add_provider', function ( $provider, $name ) {
    if ( 'users' === $name ) {
        return false;
    }
    return $provider;
}, 10, 2 );

© 版权声明

相关文章

暂无评论

none
暂无评论...