禁止WordPress程序REST API功能且移除wp-json链接

毋庸置疑WordPress算是当前比较好用的PHP程序,基本上个人博客、企业网站,小型商务网站都可以使用到。而且WordPress官方的更新、第三方的插件主题丰富,让这个程序变得越来越丰富多样,但是随着不断的升级功能,也会增加程序的负担和不安全因素。

比如从WordPress4.4开始增加REST API功能, 对于一般的网站是没有需要的,反而会拖累网站的速度,所以我们尽可能的禁止掉这些不必要的功能需求。我们在源代码中可以看到类似的链接字符。

这里将记录下如何解决这个问题的过程,一来需要移除掉这个链接,二来需要禁止REST API功能。

第一、非插件方式

//屏蔽 REST API
add_filter('json_enabled', '__return_false' );
add_filter('json_jsonp_enabled', '__return_false' );
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__return_false');

// 移除头部 wp-json 标签和 HTTP header 中的 link
remove_action('wp_head', 'rest_output_link_wp_head', 10 );
remove_action('template_redirect', 'rest_output_link_header', 11 );

将脚本丢到当前主题的Functions.php文件中。但是,我们会发现链接是去掉了,但是打开wp-josn还是可以看到输出字符。然后再启用到一个插件才可以解决。

第二、disable-json-api插件

插件地址:https://wordpress.org/plugins/disable-json-api/

下载和启动插件之后,可以彻底解决输出字符问题。

发表评论

Crypto logo

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus cursus rutrum est nec suscipit. Ut et ultrices nisi. Vivamus id nisl ligula. Nulla sed iaculis ipsum.

Contact

Company Name

Address