Disable REST API

説明

** Version 1.4 now supports whitelisting of individual routes within the REST API **

The engine for the API has existed in WordPress since v4.4, but additional functionality and endpoints are a
continual project. While this is very exciting news for many reasons – and many plugins, themes, and even pieces of
WordPress core are already beginning to use the REST API – it is also not functionality that every site admin is going
to want enabled on their website if not necessary.

As of WordPress 4.7, the filters provided for disabling the REST API were removed. To compensate, this plugin will
forcibly return an authentication error to any API requests from sources who are not logged into your website, which
will effectively still prevent unauthorized requests from using the REST API to get information from your website.

For WordPress versions 4.4, 4.5 and 4.6, this plugin makes use of the rest_enabled filter provided by the API to
disable the API functionality. However, it is strongly recommended that all site owners run the most recent version
of WordPress except where absolutely necessary.

スクリーンショット

  • The JSON returned by a website with the API disabled via filters (WP versions 4.4, 4.5, 4.6)
  • The JSON returned by a website with the API disabled via authentication methods (WP versions 4.7+)

インストール

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

FAQ

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

While logged into WordPress as any user, the REST API will function as intended. Because of this, you must use a new
browser – or Chrome’s incognito mode – to test your website with a clean session. Go to yourdomain.com/wp-json/ (or
yourdomain.com/?rest_route=/ if you have pretty permalinks disabled) while NOT LOGGED IN to test the results. You will
see an authentication error returned if the plugin is active. “DRA: Only authenticated users can access the REST API.”

Does this plugin disable all REST API’s installed?

This plugin is ONLY meant to disable endpoints accessible via the default REST API that is part of WordPress itself. If
a plugin or theme chooses to register its namespace with the core REST API, its endpoints will – by default – by
disabled so long as this plugin is active. Namespaces and routes may be whitelisted via this plugin’s Settings page.

評価

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…

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

貢献者と開発者

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

貢献者

“Disable REST API” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

1.4.2

  • Fixed issue causing unintentional unlocking of endpoints when another WP_Error existed before this plugin did its job

1.4.1

  • Fixed echo of text URL to primary Plugins page in WP Dashboard

1.4

  • Tested for WP v4.8
  • Tested for PHP 5.3+
  • Added settings screen
  • Site Admins may now whitelist routes that they wish to allow unauthenticated access to
  • Added dra_allow_rest_api filter to the is_logged_in() check, so developers can get more granular with permissions
  • Props to @tangrufus for all of the help that went into this release

1.3

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

1.2

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

1.1

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

1.0

  • 最初のリリース