WordPress 4.7以降、デフォルトでRESTAPIが利用できるようになりました。
※すでに最新はWordPress5.2となっておりますが
何もしていなければ、お使いのWordPressのサイトのURLにJSON形式にデータが取得できちゃいます。
ドメイン名/wp-json/wp/v2/
これまで作ってみたWordPressのサイトで確認してみましょう。
投稿情報、固定ページ情報、ユーザー情報などもURLを指定するだけで簡単に見ることができます。見るだけではなく、追加・更新・削除なども。
※古いバージョンのWordPressであれば404エラーなどになるかと思いますが、それはそれでまた別の問題がありますね。
以下はAkrosのブログ記事をWPRestAPI+Vue+axiosで作成したサンプルです。
※cssは省略
※CORS(Cross-Origin Resource Sharing)対応も省略
対策しておけば別ドメインからでも上記を呼び出せます。
https://akros-ac.jp/ueno/rest_test/
Vue
https://jp.vuejs.org/index.html
axios
https://github.com/axios/axios
実はRESTAPI化されていることにも気が付いていない方もまだまだいらっしゃるのではないでしょうか?
例えば、WordPressのログインユーザー名も一覧で取得できちゃうことも。
ドメイン名/wp-json/wp/v2/users
ログインのセキュリティ対策をしていればよいかと思いますが、ユーザー情報を見せていないサイトを構築している方にとってはあまり見せたくない情報かもしれませんね。
WPRESTAPI自体を無効にすることもできますが、プラグインなどもWPRESTAPIを利用し始めているため、すべてをOFFにすると使えなくなってしまうプラグインなども出てきてしまいます。
JetPackやContactForm7、そのほかgutenbergなども。
直接functions.phpにPHPを記載して、RESTAPIを無効化したり、プラグインだけ許可したり対応することもできますが、
とりあえずはサクッと最低限、ユーザー情報にはアクセスできないようにしたいですよね。
ということで、いくつかプラグインはありますが、
XO Security
https://ja.wordpress.org/plugins/xo-security/
というプラグインを使用すると、簡単にユーザー情報だけを取得できなくすることができます。
当スクールでも対策しました。
ユーザー情報は取得できなくなっています。
https://akros-ac.jp/wp-json/wp/v2/users
こちらのプラグインは他にも基本的なWordPressのセキュリティ対策を実施することができるので、
SiteGuardWPPluginといったセキュリティプラグインの導入と併せてご検討してみてください。
WordPressで困っていることを無料相談
Akrosなら今困っていることをピンポイントで一緒に解決していますので、
無料カウンセリングで相談できますよ!