【悩み】
・WordPresのXML-RPCを使ってみたい!何か追加設定が必要?
・XML-RPCをWordPressで使うと何ができる?どういった注意が必要?
・そもそもXML-RPCって何?どういう場面で使うべき?無料なの?
こういった「悩み」に答えます。
【本記事の内容】
① そもそもWordPresのXML-RPCとは?
➁ WordPressのXML-RPCの使い方
➂ WordPressのXML-RPCを使う上での注意点
記事の前半では「そもそもWordPressのXML-RPCとは何か?」「WordPress上でXML-RPCが有効化されているかなどの基本的な使い方」を解説します。
記事の後半では、「WordPressでXML-RPCを使う場合に注意するべき点」をご紹介します。
この記事を読み終えることで、「WordPressのXML-RPCとは何かを理解した上で、迷うことなく自動投稿などに利活用できる」状態になります。
そもそもWordPresのXML-RPCとは?
以下の順番で、WordPressのXML-RPCとはどういったものなのか?に関してご紹介します。
【ご紹介事項】
・XML-RPCとは?
・WordPressのXML-RPCとは?どんな機能?
・WordPressのXML-RPCを使ってできること
以降で、上記「ご紹介事項」の各項目に関してご説明します。
XML-RPCとは?【プロトコルの一種】
XML-RPCとは、eXtensible Markup Language Remote Procedure Callの略称であり、XML を使ってデータをやり取りし、何かしらの処理を実行依頼するためのプロトコル(規約)です。
XML-RPCは、主に、異なるシステムやアプリケーション間での通信を簡単に行うために使われます。
ちなみに、XML-RPCの特徴としては下記が挙げられます。
【XML-RPCの特徴】
・XMLでデータを送受信:通信データはXML形式で記述される
・HTTP経由でリクエスト送信:HTTP POSTを使ってデータを送信する
・プログラミング言語でサポート:Python、PHP、Javaなどで利用可能
WordPressのXML-RPCとは?どんな機能?
先ほど紹介したXML-RPCをWordPressでも使うことができます。
WordPressでは、「xmlrpc.php」という内部スクリプトを用いて、受信したXML-RPCの処理を実施します。
ちなみに、WordPressのXML-RPCに依頼する際には、「運営WordPressへログインできるユーザー名」「そのユーザー名のパスワード」「XML」が必要になります。
WordPressのXML-RPCを使うために、追加でプラグインなどの導入やセットアップは不要です。
WordPressのXML-RPCを使ってできること
WordPressのXML-RPCを使うことで、WordPress以外のアプリケーションから記事を投稿したり、コメントを管理したりすることができます。
【WordPressのXML-RPCを使ってできることの例】
・投稿関連:新規投稿、編集、更新、削除、下書きの保存
・メディア管理:画像や動画のアップロード、メディアの一覧取得
・コメント管理:取得、投稿、コメントの承認、スパム判定、削除
補足:詳細に関しては公式サイトをご参照ください
上記のようなことをできるため、「Pythonなどのプログラミングを用いてWordPressへの自動投稿」といったWordPress自動運営を実現できます。本件が気になる方は、以下の記事をご覧ください。
以上が、WordPressのXML-RPCに関する簡単な概要となります。以降では、お使いのWordPressにおいてXML-RPCが稼働しているか?などについて分かりやすくご紹介します。
WordPressのXML-RPCの使い方
今までご紹介し続けてきた「WordPressのXML-RPC」の運用関連に関して、以下の順番で説明します。
【ご紹介事項】
・動作しているかを確認する手順
・有効化する手順
・無効化する手順
動作しているかを確認する手順
WordPressのXML-RPCが動作しているかどうかは、Webブラウザを起動し、以下のURLにアクセスすることで簡単に確認できます。
【WordPressでXML-RPCが動作しているかを確認できるURL】
WordPressで運営しているURL/xmlrpc.php
WordPressでXML-RPCが動作している場合、「XML-RPC server accepts POST requests only.」がWebブラウザの画面に表示されます。
上記以外が表示された場合、WordPressでXML-RPCが動作していないと判断できます。
有効化する手順
WordPressでXML-RPCを有効化したい場合、以下のいずれかの対処を実施してください。
【wp-config.phpを編集できる環境】
対処:ファイル内の「add_filter(‘xmlrpc_enabled’, ‘__return_false’);」を削除
格納場所:WordPressをインストールしたフォルダ名/wp-config.php
【.htaccessファイルを編集できる環境】
対処:<Files xmlrpc.php>タグを削除
格納場所:WordPressをインストールしたフォルダ名/.htaccess
【レンタルサーバでWordPressを運営している環境】
対処:レンタルサーバの管理画面(ダッシュボード)で設定
例:XSeverの場合
無効化する手順
WordPressでXML-RPCを無効化したい場合、以下のいずれかの対処を実施してください。
【wp-config.phpを編集できる環境】
対処:ファイル内に「add_filter(‘xmlrpc_enabled’, ‘__return_false’);」を追加
格納場所:WordPressをインストールしたフォルダ名/wp-config.php
【.htaccessファイルを編集できる環境】
対処:下記タグを追加
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
格納場所:WordPressをインストールしたフォルダ名/.htaccess
【レンタルサーバでWordPressを運営している環境】
対処:レンタルサーバの管理画面(ダッシュボード)で設定
例:XSeverの場合
【無効化できるプラグインの利用】
対処:以下のいずれかのセキュリティプラグインをインストール
・All In One WP Security & Firewall
・Disable XML-RPC Pingback
以上が、WordPressのXML-RPCに基本的な使い方となります。以降では、WordPressのXML-RPCを使う上での注意点について解説します。
WordPressのXML-RPCを使う上での注意点【攻撃への対策や防御が必須】
今までご紹介し続けてきた「WordPressのXML-RPC」を使う上での注意点に関して、以下の順番で説明します。
【ご紹介事項】
・脆弱性をついたセキュリティ攻撃への注意
脆弱性をついたセキュリティ攻撃への注意
WordPresのXML-RPCを狙ったセキュリティ攻撃としては、主に以下が挙げられます。これらの攻撃を受けると、運営WordPressに対して「サイトの動作が遅くなる」「サーバーがダウンしWordPressが閲覧できない状態になる」「サイトが乗っ取られる」といった被害を受けてしまいます。
【主要な攻撃例】
・ブルートフォース攻撃
攻撃内容:xmlrpc.php を利用し、大量のログイン試行を行われる
影響:サイトの動作が重くなる、サイトの改ざん、乗っ取られる
・DDoS攻撃の踏み台
攻撃内容:xmlrpc.phpのPingback機能を悪用し、大量リクエストを送信
影響:サイトの動作が重くなる、DDoS攻撃の加害者になってしまう
補足:Pingback機能とは自サイトから他サイトへリンクを通知する仕組み
上記のような攻撃の対策として、「プラグインを導入しXML-RPCの利用制限」や「設定ファイルを編集しXML-RPCの利用制限」が挙げられます。
【XML-RPCの利用制限ができるプラグイン】
・All In One WP Security & Firewall
・Disable XML-RPC Pingback
【.htaccessを編集しXML-RPCの利用制限】
対処:下記タグを追加
<Files xmlrpc.php>
order deny,allow
deny from all
allow from XXX.XXX.XXX.XXX
</Files>
補足:XXX.XXX.XXX.XXXにはXML-RPCを使いたい端末のIPアドレスを記載
以上の注意点に気を付けつつ、WordPressのXML-RPCを扱い、WordPressの運営を簡易化しましょう。
【まとめ】WordpressのXML-RPCは簡単に利用可能
いかがでしたでしょうか?
今回ご紹介した基礎基本や使い方をしっかりと理解することで、迷うことなくWordPressのXML-RPCを使うことができるようになります。
最後にもう一度内容を確認しましょう。
【おさらい】
・XML-RPCとは、簡単に言うと「XMLを送信し処理を依頼すること」
・WordPressのXML-RPCは追加設定なしで最初から利用可能
・WordPressのXML-RPCを使う上ではセキュリティ攻撃対策を行うこと
本ブログでは、「WordPressの設定方法からブログ運営のコツ」や「業務の時短化に繋がるIT技術」などを発信しています。定期的に更新していますので、ぜひブックマークをよろしくお願いいたします。
>> IT技術やその学び方を発信しているサイト「駆け出し物語」(本ブログ)
コメント