• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

ハイファイブクリエイト

東京都を拠点にしたWebサイト制作。WordPress構築やシステム構築、ウェブコンサルティング

  • SERVICE
  • ABOUT
  • WORKS
  • BLOG
  • NEWS
  • CONTACT
ホーム / ブログ / TIPS / WP REST APIのエンドポイントを無効にする

WP REST APIのエンドポイントを無効にする

池田祐太郎 | 2017年12月19日 公開


WordPress4.7からWP REST APIがデフォルトで有効となりました。
特に設定していなければ、管理画面にログインしていなくとも投稿や固定ページ、カスタム投稿やメディアといったコンテンツ一式を取得、表示することが可能です。

参考:WP REST APIを使って静的HTMLページにWordPressの投稿情報を表示する

勝手に情報を取得されると困る、というケースもあると思います。
ここではREST APIでエンドポイントを無効にし、情報を取得できないように設定する方法をご紹介します。

WordPress4.7での動作確認となり、今後変わる可能性があります。

記載するソースコード例

非ログイン状態でのREST API エンドポイントを無効にするソースコードです。
「namespaces」で例外を追加しており、例ではoembedとcontactform7を追加しています。
不要な場合は該当箇所を削除します。

/*
 * REST APIを無効にする
 *
 * Embed以外
 *
 * License: GPLv2 or later
 */
function nendebcom_deny_restapi_except_embed( $result, $wp_rest_server, $request ){
 
    $namespaces = $request->get_route();
 
    // /oembed/1.0
    if( strpos( $namespaces, 'oembed/' ) === 1 ){
        return $result;
    }
    // /contact-form-7/v1
    if( strpos( $namespaces, 'contact-form-7/' ) === 1 ){
        return $result;
    }
 
    return new WP_Error( 'rest_disabled', __( 'The REST API on this site has been disabled.' ), array( 'status' => rest_authorization_required_code() ) );
}
add_filter( 'rest_pre_dispatch', 'nendebcom_deny_restapi_except_embed', 10, 3 );

上記コードをfunctions.phpに記載します。バックアップは必ず取るようにしましょう。

確認方法

無事にREST APIが無効になっているかの確認方法は、以下のアドレスにアクセスします。

https://(サイトURL)/wp-json/wp/v2/posts/?p=1

※id1の記事のREST APIにアクセスします

下記のような文言が表示されていれば、無事REST APIが無効になっています。

{"code":"rest_disabled","message":"The REST API on this site has been disabled.","data":{"status":401}}

ちなみに、当サイトの場合無効にしていないため、表示されています。
https://highfivecreate.com/wp-json/wp/v2/posts/?p=1

コードはWordPress4.7 の WP REST API を無効にする – ねんでぶろぐを参考にさせていただきました。
参考元では、JetPackやGutenbergへの対応方法が記載されています。

WordPressサイト構築

カテゴリー:TIPS, WordPress タグ:WordPressカスタマイズ

池田祐太郎

Webディレクター、フロントエンドエンジニア、ハイファイブクリエイト代表。音楽は聴くのも弾くのも好き。マイギターはFender American Vintage StratrocasterとGibson J-45。SNS: Twitter, Facebook

この記事と関連する記事

フレームワークを使ってWordPressサイトをリニューアルしたら表示速度が速くなった話
2018年6月4日
タグ: Webサイト高速化, WordPressカスタマイズ
カテゴリー: WordPress, ホームページ制作, モバイル
WP固定ページや投稿内でphpファイルを読み込むショートコード
2018年4月1日
タグ: WordPressカスタマイズ
カテゴリー: TIPS
一覧ページ等で、アイキャッチ画像がなかったら一番目の画像を取得し、さらに画像がなかったら定義した画像を表示するカスタマイズ方法
2018年3月22日
タグ: WordPressカスタマイズ
カテゴリー: TIPS

Primary Sidebar

WordPress保守管理サポート

Search

最近の投稿

  • WordPressを使って構築された整体院13サイトを解説
  • WordPress保守管理サービスを開始
  • 2019-2020年末年始の営業のご案内
  • Smush Proのインストールと設定方法
  • WordCamp Tokyo 2019に参加してきました(大阪も)

カテゴリー

  • CSS初心者
  • HTML初心者
  • TIPS
  • WooCommerce
  • WordPress
  • エステサロン
  • お知らせ
  • キュレーション
  • サイトマップ
  • システム会社
  • デベロッパーツール入門
  • ブログ
  • ホームページ制作
  • ホームページ制作無料講座
  • モバイル
  • 仕事のこと
  • 制作実績
  • 整体院
  • 美容院
  • 雑感

タグ

Android BtoC Chrome CMS css Fireworks Google+ HTML Illustrator iOS iPhone jQuery Mac mixi Photoshop初心者 php SEO SNS Webサイト高速化 WordPress WordPressカスタマイズ WordPressテーマ WordPress構築調査 お知らせ アクセス解析 アプリ カスタマイズ カフェ クラウド スマホサイト スマートフォン ソーシャル ツール フラットデザイン ブログ プラグイン マーケティング ライフログ リニューアル 休業日 保守管理 制作のご依頼 最適化 集客するサイト構築 飲食店

アーカイブ

CONTACT

お問い合わせはこちら

Footer

  • PRIVACY POLICY
  • 転載・引用について
  • Facebook

© 2019 high five create All rights reserved.