• 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保守管理サービス

Filed Under: TIPS, WordPress 関連タグ:WordPressカスタマイズ

池田祐太郎

WordPressをはじめとしたCMSの導入を10年以上にわたって手掛けており、中小企業から大企業までコーポレートサイト・ランディングページ・ECサイト・ブランドサイト等、幅広いWebサイトの企画・制作・開発・プロモーション業務などを行う。2012年にハイファイブクリエイトを創業し、現在はディレクションや開発業務などを担当している。 プロフィール詳細

この記事と関連する記事

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

最初のサイドバー

WordPress保守管理サポート

Search

最近の投稿

  • WordPressの保守が必要な理由とチェックするべき9点
  • Contact Form 7 に見つかったファイルアップロードの脆弱性はどのくらい危険なのか?
  • 2020-2021年末年始の営業のご案内
  • [WordPressサイト向け支援キャンペーン] WordPress保守管理の無料コンサルティングを実施
  • お名前.com レンタルサーバーでSSH接続する方法

カテゴリー

  • 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

© 2021 high five create All rights reserved.