WordPress で REST API を無効にする方法

公開: 2023-05-28

Rest API を無効にしたいのですが、その方法がわかりませんか? 心配しないで; 私たちはあなたをカバーします。

この記事では、WordPress で Rest API を無効にする方法と、それが Web サイトのセキュリティにとって不可欠な手順である理由を説明します。

Rest API は、ハッカーが Web サイトに不正アクセスするために使用する最も一般的な方法の 1 つであることをご存知ですか?

大手 Web サイト セキュリティ会社 Sucuri によると、2020 年にハッキングされた WordPress Web サイトの 73% は脆弱なプラグインとテーマが原因であり、Rest API は主な脆弱性の 1 つでした。

Rest API とは何なのか、Web サイトのセキュリティにとって Rest API を無効にすることがなぜ重要なのか疑問に思っている場合は、読み続けてください。

この記事では、WordPress で Rest API を無効にする方法に関するステップバイステップのガイドを提供し、そうすることでハッカーによる Web サイトの脆弱性の悪用を防ぐことができる理由を説明します。

目次
WordPress Rest API とは何ですか?
WordPress REST API を無効にする必要がある理由
WordPress Rest APIを無効にする方法【2つの方法】
方法 1: プラグインを使用する
方法 2: プラグインなしで WordPress Rest API を無効にする
方法 3: WordPress Rest API へのアクセスを制限する
よくある質問
結論

WordPress Rest API とは何ですか?

WordPress Rest API は、開発者が WordPress プラットフォームのデータを使用して Web およびモバイル アプリケーションを構築できるようにするインターフェイスです。

HTTP リクエストを生成することで、リモートの場所からコンテンツを取得、更新、削除できるようになります。 これには多くの利点がありますが、一部のユーザーはセキュリティ上の理由またはその他の目的でこれを無効にしたい場合があります。

WordPress REST API を無効にする必要がある理由

WordPress Web サイトの所有者であれば、開発者がサイト データにアクセスしてリモートでアクションを実行できるようにする REST API 機能について聞いたことがあるかもしれません。

この機能は便利ですが、セキュリティ上のリスクも伴うため、多くのユーザーがこの機能を無効にすることを選択します。 そうすることを検討すべき理由は次のとおりです。

1.不正アクセス: REST API は、ユーザー データやログイン資格情報などの機密情報へのアクセスを提供する可能性があります。 サイトの認証または認可対策が弱い場合、ハッカーが脆弱性を悪用してサイトに不正アクセスする可能性があります。

2.ブルート フォース攻撃: REST API を有効にすると、攻撃者は自動ツールを使用してサイトの API エンドポイントにリクエストを繰り返し、有効なユーザー名とパスワードを推測しようとする可能性があります。 このタイプの攻撃はサーバーに過負荷をかけ、サイトのセキュリティを損なう可能性があります。

3. DDoS 攻撃:ハッカーは REST API を使用して、過剰な数のリクエストでサイトのサーバーに負荷をかけ、分散サービス拒否 (DDoS) 攻撃を開始することもできます。

WordPress REST API へのアクセスを制限するには、プラグインを使用するか、サイトの function.php ファイルにコードを手動で追加します。 REST API を無効にすることで、サイトのセキュリティを向上させ、潜在的な攻撃から保護できます。

結論として、WordPress REST API は開発者にとって役立つツールですが、利点とセキュリティ リスクを比較検討することが重要です。 REST API へのアクセスを制限する措置を講じることで、潜在的な脅威からサイトを保護し、データを安全に保つことができます。

WordPress Rest APIを無効にする方法【2つの方法】

Web サイトのセキュリティとプライバシーを向上させるために WordPress REST API を無効にする場合は、2 つの方法があります。 1 つ目の方法ではプラグインを使用し、2 つ目の方法では Web サイトのコードを変更する必要があります。

どちらの方法も簡単に実行できます。 WordPress REST API へのアクセスを制限することで、潜在的なセキュリティ脅威から Web サイトを保護できます。

方法 1: プラグインを使用する

WordPress Web サイトのセキュリティが心配な場合は、REST API を無効にすることが効果的な対策となります。 幸いなことに、プラグインを使用してこのタスクを実行するのは比較的簡単です。

このセクションでは、Disable WP REST API プラグインを利用して Web サイトで REST API を無効にする方法を説明します。

あなたがする必要があるのは、 「プラグイン」→「新規追加」から「WP REST API プラグインを無効にする」をインストールしてアクティブ化することだけです。

「プラグイン」→「新規追加」に移動し、WP REST APIを無効にしてインストールします。

それでおしまい! プラグインを有効にすると、ログアウトしたユーザーのサイト上の REST API へのすべてのリクエストが自動的にブロックされます。

Rest API 制限アクセス用に WordPress のプラグインを使用することは、WordPress サイトで REST API を無効にする簡単かつ効果的な方法です。

次のリンクから、Web サイトで REST API が実際に無効になっているかどうかを確認できます: yourwebsite.com/wp-json

この URL に次のような 401 エラーが表示される場合は、REST API が無効になっていることを意味します。

WP-JSON へのアクセス時の 401 エラー

方法 2: プラグインなしで WordPress Rest API を無効にする

このセクションでは、プラグインを使用せずに WordPress Rest API を無効にする方法について説明します。 これは、Web サイトを保護し、機密データへの不正アクセスを防ぐ効果的な方法です。

プラグインを使用せずに WordPress Rest API を無効にするには、次の手順に従います。

ステップ 1: [外観] → [テーマ ファイル エディター]に移動します。

「外観」→「テーマファイルエディタ」に移動し、functions.phpを開きます。

ステップ 2: functions.phpファイルを開き、次のコードをファイルに貼り付けます。

 /** Disable REST API **/ // Filters for WP-API version 1.x add_filter('json_enabled', '__return_false'); add_filter('json_jsonp_enabled', '__return_false'); // Filters for WP-API version 2.x // add_filter('rest_enabled', '__return_false'); add_filter('rest_jsonp_enabled', '__return_false'); 
ここにコードを貼り付けてください

このコードは、ログインしていないユーザーからの認証されていない REST API リクエストをブロックし、それらのユーザーに対する API を事実上無効にします。 このコードは、バージョン 2.x WP API として知られる wp-json/wp/v2/users も無効にします。

ステップ 3:変更を保存してテストする

すべてが正しく動作する場合、ログインしていないユーザーとしてエンドポイントにアクセスすると、 401 Unauthorizedエラー メッセージが表示されるはずです。

方法 3: WordPress Rest API へのアクセスを制限する

このセクションでは、Web サイトのセキュリティの向上に役立つ WordPress Rest API へのアクセスを制限する方法について説明します。

アクセスを制限すると、API を介してサイトのデータに不正なリクエストがアクセスするのを防ぐことができます。

is_user_logged_inチェックをrest_authentication_errorsフィルターに追加すると、行われたすべての REST API 呼び出しに対して認証を要求できるようになります。

いくつかの簡単な手順でそれを行う方法は次のとおりです。

ステップ 1: functions.phpファイルにアクセスします。

ステップ 2:次のコードをファイルに貼り付けます。

 add_filter( 'rest_authentication_errors', function( $result ) { // If a previous authentication check was applied, // pass that result along without modification. if ( true === $result || is_wp_error( $result ) ) { return $result; } // No authentication has been performed yet. // Return an error if user is not logged in. if ( ! is_user_logged_in() ) { return new WP_Error( 'rest_not_logged_in', __( 'You are not currently logged in.' ), array( 'status' => 401 ) ); } // Our custom authentication check should have no effect // on logged-in requests return $result; }); 
ここにコードを貼り付けてください

受信コールバック パラメータには、 WP_Errorまたはboolean値を指定できることに注意してください。 パラメータのタイプは、認証プロセスの状態を示します。

1. null:認証はまだチェックされていないため、フック コールバックはカスタム認証を適用する可能性があります。

2.ブール値:認証方法は以前にチェックされています。 true 値は認証が成功したことを示し、false 値は認証が失敗したことを示します。

3. WP_Error:エラーが発生しました。

ステップ 3: Web サイトが正しく動作していることを確認します。

それでおしまい! これらの簡単な手順により、WordPress Rest API へのアクセスが制限され、Web サイトの安全性が高まります。

重要な注意:この方法は、Rest API に依存する一部のプラグインまたはテーマに影響を与える可能性があるため、この変更を加えた後は必ず Web サイトを徹底的にテストしてください。

よくある質問

WordPress で REST API を無効にする目的は何ですか?

Rest API を無効にすると、Rest API リクエストを介したサイトのデータや機能への不正アクセスが防止され、Web サイトのセキュリティが向上します。

WordPress で REST API を無効にするにはどうすればよいですか?

WordPress で Rest API を無効にする方法はいくつかありますが、最も簡単な方法は Disable WP REST API などのプラグインを使用することです。これにより、コーディングなしで簡単に Rest API を無効にすることができます。

REST API を無効にすると、Web サイトの機能に影響しますか?

Rest API を無効にすると、適切に機能するために Rest API リクエストに依存する一部のプラグインまたはテーマの機能に影響を与える可能性があります。 ただし、ほとんどのプラグインとテーマは引き続き正常に動作します。

結論

ウェブサイトのセキュリティとプライバシーを強化するために、WordPress で Rest API を無効にすることの重要性について説明しました。 さまざまな方法で Rest API を無効にするプロセスを段階的に説明しました。 これらの方法に従うことで、Web サイトを潜在的な脅威から簡単に保護できます。

この記事をお読みいただき、ありがとうございます。お役に立てば幸いです。 この記事で説明されている手順に従っているときに質問がある場合、または問題が発生した場合は、以下のコメントセクションでお気軽にお問い合わせください。 私たちのチームがいつでもお手伝いいたします。

最新の WordPress チュートリアルとニュースを常に入手するには、Facebook と Twitter で BetterStudio をフォローしてください。 私たちのチームは、Web サイト所有者がオンライン プレゼンスを最適化するのに役立つヒントやコツを定期的に共有しています。