Disable REST API

説明

** WordPress 4.7で REST API を無効化するフィルターが削除されました。しかしこのプラグインは、サイトへログインしていないアクセス元からの API 要求に対して認証エラーを強制的に返すことにより、未認証の要求が REST API を使ってサイトから情報を取得できないようにします **

REST API は Ryan McCue, Rachel Baker, Daniel Bachhuber と Joe Hoyle による JSON REST API プラグインで開発されたプロジェクトです。
API のコア部分は WordPress 4.4から存在していますが、追加機能とエンドポイントはプロジェクトとして継続されています。
多くの理由でこれはエキサイティングなニュースである一方、サイト管理者の誰もが必要がないのに有効にするような機能ではありません。

WordPress 4.4, 4.5, 4.6では API に備わっている rest_enabled フィルターを使って API 機能を無効化します。
WordPress 4.7以上ではサイトにログインしていないユーザーについて認証エラー(すべてのエンドポイントを事実上無効化します)を返します。

スクリーンショット

  • The JSON returned by a website that is protected by this plugin. (WordPress versions 4.4, 4.5, 4.6)

インストール

  1. disable-json-api ディレクトリーを /wp-content/plugins/ へ FTP でアップロードします。
  2. または、disable-json-api_v#.#.zip ファイルを WordPress 管理画面の ‘プラグイン->新規追加’ ページからアップロードします。
  3. WordPress の「プラグイン」メニューからプラグインを有効化

FAQ

このプラグインは他の REST API プラグインと互換性がありますか ?

このプラグインは WordPress REST API がその機能を無効化する手段として持つフィルターだけを使います。
他の REST API が同じフィルターを使って自身を無効化しない限り(そうすべきではありません)、問題ないはずです。

評価

Perfect

Does exactly what I want it to do. It disables the REST API completely for non-authenticated users.

Download, install and rest

Thanks for creating this plugin. It was a pleasure to acquire and install. Let’s hope the rest API evolves more safely in the upcoming releases.

Necessary

Since the disable REST filter was so wisely disabled *sarcasm*, this plugin is a necessary tool. It’s unconscionable to provide a whole new huge attack surface with the REST API, provide a filter to disable it and then suddenly remove that filter. WTF. Millions of WP sites running 4.7 and 4.7.1 are now defaced because of hubris by the core developers. Years of work to improve WordPress’s reputation for insecurity undone by one irresponsible decision.

Perfect

Install, activate and you’re done!

Works perfectly on all the calls I tested it with…

Works fine with WP 4.7.2

Works fine with 4.7.2. You can test your site before and after installation of this plugin using http://example.com/wp-json

You’ll know it works when you see the message:

{“code”:”rest_cannot_access”,”message”:”Only authenticated users can access the REST API.”,”data”:{“status”:401}}

16件のレビューをすべて表示

貢献者と開発者

Disable REST API はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

変更履歴

1.3

  • WP 4.7でテスト済み
  • ログインしていないユーザーについて WordPress 4.7以上なら認証エラーを返す新機能を追加

1.2

  • WP 4.5でテスト済み
  • head とヘッダーに REST 情報を公開するアクションを削除

1.1

  • 2.0ベータ APIで導入された新しいフィルターをサポートするように更新

1.0

  • 最初のリリース