WordPressのXMLRPCを無効化する方法|htaccessやプラグイン、nginxでのやり方を解説

スポンサーリンク
スポンサーリンク

WordPressのXMLRPCを無効にするプラグインをお探しですか?または、短いコードスニペットを使用して手動でXMLRPCを無効にしたいですか?この記事では、両方の方法を使用してXMLRPCを無効にする方法を紹介しますので、もう探す必要はありません。

しかし、両方の方法の手順に入る前に、おそらく皆さんが考えているであろういくつかの基本的な疑問を解決しようと思います。

  • XMLRPC はどの程度のセキュリティ上の脅威なのか?
  • そもそも、なぜそれが存在するのか?
  • XMLRPC を無効にすれば十分なのでしょうか?

ご安心ください、私たちはあなたの切実な疑問にすべてお答えします。では、さっそく始めましょう。以下は、これから取り上げる内容です。

スポンサーリンク

いつXMLRPCを無効化してはいけないのか?

XMLRPC は、WordPress が他のシステムと通信できるようにするために開発されました。例えば、モバイルでWordPressのアプリケーションを使うには、XMLRPCが必要です。

最近では、WordPress と他のシステム間でデータを転送する REST API が利用できるようになったため、XMLRPC はあまり必要ではありません。

とはいえ、後方互換性のために、XMLRPC は WordPress のインストールに含まれています。ウェブサイトを最新の状態に保つことが非常に重要であることは誰もが知っていますが、ウェブサイトの所有者が更新を控えることを決定するケースもあります。また、そのサイトが REST API よりも前のバージョンで動作している場合は、XMLRPC ファイルを有効にしておく方がよいでしょう。

しかし、すでにご存知のように、XMLRPC ファイルを有効にしておくことの最大の欠点は、WordPress ウェブサイトに脆弱性をもたらすことが知られていることです。したがって、我々は強く湾でハッカーを保つためにあなたのサイトにWordPressのセキュリティプラグインをインストールすることをお勧めします。

REST API にはアクセスできないが XMLRPC にはアクセスできるアプリケーションを使用している場合、PHP ファイル (すなわち XMLRPC.php) を保持したいと思うかもしれません。この場合、XMLRPC は一時的な解決策に過ぎないので、REST API と互換性のあるアプリケーションを見つけることを強くお勧めします。

XMLRPC を無効化してはいけない理由がわかったところで、次に PHP ファイルを無効化する正当な理由をすべて見ていきましょう。

XMLRPCファイルを無効にする一般的な理由は、DDoS攻撃やブルートフォース攻撃のようなハッキング攻撃に対してウェブサイトを脆弱にすることです。また、PHPファイルはサーバーリソースを大量に消費し、Webサイトを超低速にする傾向があります。

Jetpackのような一部のプラグインは、XMLRPCで問題に直面することが知られています。

そこで、XMLRPC ファイルを無効にしたい場合は、以下の手順を実行します。

XMLRPCを無効にする方法

XMLRPCファイルを無効にするには、2つの方法があります。プラグインを使用する方法と、手動で行う方法です。以下、両方の方法について説明します。さあ、始めましょう…

重要 – 先に進む前に、あなたのウェブサイト全体のバックアップを作成してください。このチュートリアルに従うには、プラグインをインストールするか、WordPressのファイルを変更する必要があります。新しいプラグインをインストールするとウェブサイトが壊れることはよく知られていますし、ファイルを変更することは危険なビジネスです。バックアップは、不運な状況下で陥る可能性のあるセーフティネットです。ですから、先に進む前にバックアップを取っていることを確認してください。

WordPressでXMLRPCをプラグインで無効化する

WordPressのウェブサイト上でXMLRPCを無効にするプラグインはたくさんあります。このチュートリアルでは、最も人気のあるものを使用するつもりです。Disable XML-RPCを使用します。このプラグインを使用できない場合は、次の代替案を試してみてください。

  • XML-RPC-APIを無効にする
  • Remove & Disable XML-RPC Pingbackを削除します。

あなたのウェブサイトにインストールされているセキュリティプラグインを持っていますか?その後、あなたはそのセキュリティプラグインを使用してXMLRPCを無効にすることができるかどうかをお問い合わせください。例えば、iThemesは、ボタンをクリックするだけでXMLRPCを無効にすることができます。

それでは、Disable XML-RPC プラグインを使用して XMLRPC を無効化してみましょう。

Disable XML-RPC
このプラグインは、WordPress 3.5以降にデフォルトで有効になっている XML-RPC API を無効にします。

Disable XML-RPC プラグインをダウンロードし、WordPress ウェブサイトにインストールします。それで完了です。このプラグインは、あなたが指をくわえて見ていなくても、自動的にPHPファイルを無効にしてくれます。

プラグインを使用することは、WordPress ウェブサイトの問題を解決する素晴らしい方法ですが、プラグインをインストールすることには欠点があります。それはあなたのサーバーリソースの多くを消費します. 手動方法は、多くのウェブサイトの所有者に望ましいかもしれない理由です.

WordPressでXMLRPCを手動で無効化する

XMLRPCを手動で無効にするには、3つの方法があります。フィルタを使う方法、.htaccessやNgnixの設定ファイルを変更する方法です。試しに全部やってみましょう。

.htaccessファイルによる無効化

.htaccessファイルを編集するには、ホスティングアカウントを開き、cPanel → File Manager → public_html → .htaccessに移動する必要があります。.htaccessファイルを右クリックし、編集を選択します。次に、ファイルの最後に以下のコードを挿入してください。

# Block WordPress xmlrpc.php requests
<files xmlrpc.php="">
order deny,allow
deny from all
</files>

ウィンドウまたはタブを閉じる前に、保存を押すことを忘れないでください。

editing htaccess file
Editing the .htacess file to disable XMLRPC

補足:WordPressウェブサイトのバックエンドを扱ったことがない場合、.htacessファイルの編集は困難な作業になります。.htaccessファイルの機能と重要性について学び、様々な方法で.htaccessファイルを編集してみることをお勧めします。

Ngnixの設定ファイルによる無効化

手順を紹介する前に、免責事項があります。この方法は、あなたのウェブサイトが Nginx サーバーでホストされている場合のみ有効です。

あなたのウェブサイトが Nginx でホストされているかどうかわからない?ここでは、それを確認する方法を説明します。

    1. ウェブサイト上の任意の場所を右クリックし、[検査]を選択します。
    1. 「ネットワーク」を選択すると、Webサイトを再読み込みするように求められます。次に、「すべて」を選択します。
google chrome browser network option
Fiding the Network option on your Google Chrome
  1. 名前というセクションの下にデータのリストが表示されます。いずれかのデータをクリックし、サイドパネルの「ヘッダー」から下にスクロールしてください。サーバーの名前が表示されるはずです。
google chrome browser headers option - wordpress disable xmlrpc
Fiding the server your website is hosted on using Google Chrome

あなたのサイトが Ngnix でホストされている場合、次のステップに進みます。

Nginxの設定ファイルを開き、以下のコードをファイルに挿入します。

location ~* ^/xmlrpc.php$ {
return 403;
}

設定を保存した後、あなたのウェブサイトのフロントエンドからXMLRPCファイルを開くと、403エラーが投げられます。ご自分の目で確かめてください。あなたのウェブサイトの最後に /xmprpc.php (https://yourwebsite.com/xmlrpc.php) を追加し、Enterキーを押すだけです。

フィルタによる無効化

プラグインを作成し、そのプラグインに以下のフィルターを追加し、プラグインがウェブサイトにインストールされ有効になっていることを確認することで、XMLRPC ファイルを無効にすることができます。

add_filter( 'xmlrpc_enabled', '__return_false' );

お分かりのように、この特別なオプションは開発者にとって理想的です。普通の技術力を持つ人々には、config または .htaccess ファイルオプションをお勧めします。

何も効果がなかった?

この記事で紹介した手順を試してみたものの、期待する結果を得られなかった場合は、ホスティングプロバイダーに相談してみてください。ホスティングプロバイダーは、何が問題なのか、WordPress ウェブサイトで XMLRPC を無効にする方法を教えてくれるはずです。

結論

皆さん、今回は以上です。WordPressでXMLRPCを無効にすることができましたか?下のコメント欄で教えてください。

タイトルとURLをコピーしました