IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

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

    老蒋发表于 2017-02-23 02:02:24
    love 0

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

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

    <link rel='https://api.w.org/' href='http://www.itbulu.com/wp-json/' />

    这里老蒋将记录下如何解决这个问题的过程,一来需要移除掉这个链接,二来需要禁止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/

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



沪ICP备19023445号-2号
友情链接