担心WordPress REST API暴露用户名?这里有一个简单的屏蔽方法!

猪宝儿/ 06月18日/ WordPress/ 浏览 1332

在深入探讨WordPress REST API的利用与功能时,追格小编虽已分享了多篇相关内容,但我们依然理解,部分用户可能仍对网站用户名暴露的问题心存顾虑,尤其是当他们并不需要使用到如古腾堡编辑器或小程序等特定功能时。针对这一关切,今天小编特地为大家介绍一种有效的屏蔽方法。


相关推荐:
1、WordPress REST API 简介
2、不要禁用 WordPress 的 REST API


尽管某些链接(如:https://你的域名/wp-json/wp/v2/users)能暴露用户名,但这在当前环境中通常不被视为重大隐患。


若您仍然希望进一步保护您的网站,确保用户名不被随意暴露,以下是一个可行的屏蔽方法供你参考。


1、屏蔽用户接口:


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;
});


若想屏蔽其他单一接口,可以参考:https://www.zhuige.com/news/1702.html 或下图:




2、屏蔽 REST API


add_filter('rest_authentication_errors', fn($access)=> new WP_Error('rest_cannot_acess', 'REST API已屏蔽', ['status' => 403]));


温馨提示,以上代码二选一即可,添加到当前使用的WordPress主题模版的functions.php 文件中即可。

发表评论

暂无评论,抢个沙发...

客服 工单