※社内専用

wp-json APIを介して公開されているユーザーを非公開にする

  • HOME
  • EPRESS-BS
  • wp-json APIを介して公開されているユーザーを非公開にする
wp-json APIを介して公開されているユーザーを非公開にする。
「WordPressユーザーデータが公開されているため、不正ログインされる可能性があります。ホームページを改ざんされたり、データを盗まれたりする可能性があります。」という内容で依頼が来る場合の対応です。

状況

下記URLを直接叩いて表示されてしまう。
https://www.ドメイン/wp-json/wp/v2/users

修正前例(rootを表示させたくないという指摘)

修正後例

修正方法

最終的に修正後のキャプチャのようにURLを叩いてもユーザーの表示がされなくなればいいです。
方法は複数あるので依頼内容に合わせて対応をしてください。

方法①エンドポイントだけで制御する

__setting.phpに追記する。
// エンドポイントを無効にする
  add_filter( 'rest_endpoints', 'wcl_filter_rest_endpoints');
  function wcl_filter_rest_endpoints( $endpoints ){
      if ( isset( $endpoints['/wp/v2/users'] ) ) {
          unset( $endpoints['/wp/v2/users'] );
      }
      return $endpoints;
  }
  
対応サイト:https://www.ns-kankyo.co.jp/wp-json/wp/v2/users

方法②特定のプラグインは除外してREST APIを無効化する

REST APIを利用しているプラグイン以外は無効化する。
REST APIを無効化してもプラグインが正常動作するか確認もお願いします。
有名どころだとContact Form 7やJetpackがREST APIを利用しているそうです。
参照:https://techmemo.biz/wordpress/wp-rest-api-disable/

補足

初期制作データは方法①で対応しています。