Wyłącz REST API

Opis

The most comprehensive plugin for controlling access to the WordPress REST API!

Works as a „set it and forget it” install. Just upload and activate, and the entire REST API will be inaccessible to your general site visitors.

But if you do need to grant access to some endpoints, you can do that too. Go to the Settings page and you can quickly whitelist individual endpoints (or entire branches of endpoints) in the REST API.

You can even do this on a per-user-role basis, so your unauthenticated users have one set of rules while WooCommerce customers have another while Subscribers and Editors and Admins all have their own. NOTE: Out of the box, all defined user roles will still be granted full access to the REST API until you choose to manage those settings.

For most versions of WordPress, this plugin will return an authentication error if a user is not allowed to access an endpoint. For legacy support, WordPress 4.4, 4.5, and 4.6 use the provided rest_enabled filter to disable the entire REST API.

Zrzuty ekranu

  • JSON zwrócony przez stronę internetową z wyłączonym API przez filtry (wersje WP 4.4, 4.5, 4.6)
  • JSON zwrócony przez stronę internetową z wyłączonym API za pomocą metod uwierzytelniania (wersje WP 4.7+)
  • The Settings page lets you selectively whitelist endpoints registered with the REST API, on a per-user-role basis.

Instalacja

  1. Prześlij katalog disable-json-api do katalogu /wp-content/plugins/ przez FTP
  2. Alternatively, upload the disable-json-api_v#.#.zip file to the 'Plugins->Add New’ page in your WordPress admin area
  3. Aktywuj wtyczkę w WordPressie w menu 'Wtyczki”

Najczęściej zadawane pytania

Skąd mam wiedzieć, czy ta wtyczka działa?

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 every REST API that is installed on my site?

This plugin is ONLY meant to disable endpoints accessible via the core REST API that is part of WordPress itself. If a plugin or theme has implemented their own REST API (not to be confused with implementing their own endpoints within the WordPress API) this plugin will have no effect.

Recenzje

2023-12-29
The plugin does what it says on the tin, without being pretentious. Absolutely fantastic!
2023-04-03
The plugin still works for me on WordPress 6.2. It's great to have the option to allow API access where I need it and block everything else.
2023-01-26
Allows locking the WP API behind auth and selectively allowing it where needed. Despite the lack of plugin updates, the author does have an active github repo so don't let that put you off.
2023-01-20
Blocking the REST API entirely breaks plugins that require this functionality, so being able to selectively enable routes is perfect. I recommend this plugin to everyone who uses Independent Analytics to secure their site while still enabling analytics to be recorded.
2023-01-10
It has not been tested with current Wordpress 6.1 and it seems to be compatible up to 5.8.6. Last update that we had was over 1 year ago. This was/is a very good plugin with the options, and it could still work now, but we can not verify compliance.
Przeczytaj 37 recenzji

Kontrybutorzy i deweloperzy

„Wyłącz REST API” jest oprogramowaniem open source. Poniższe osoby miały wkład w rozwój wtyczki.

Zaangażowani

Wtyczka „Wyłącz REST API” została przetłumaczona na 13 języków. Podziękuj tłumaczom za ich wkład.

Przetłumacz wtyczkę “Wyłącz REST API” na swój język.

Interesuje cię rozwój wtyczki?

Przeglądaj kod, sprawdź repozytorium SVN lub czytaj dziennik rozwoju przez RSS.

Rejestr zmian

1.8

  • Tested up to WP v6.3
  • Added dra_error_message filter so devs can customize the access error message
  • Fixed bug that caused fatal errors if activating plugin on installations running the LearnPress plugin
  • Changed minimum requirements to PHP 5.6 (up from 5.3) and WordPress 4.9 (up from 4.4). Adding docblock comments to support minimums.

1.7

  • Tested up to WP v5.8
  • Replace use of filemtime() with plugin version number for static file enqueues. Props @tangrufus for bringing this up!
  • Fixed logic bug for role-based default_allow rules. Props @msp1974 for the report!
  • Few small code-style updates

1.6

  • Tested up to WP v5.6
  • Added support for managing endpoint access on a per-user-role basis
  • Soooooooo many small changes behind the scenes to support the above

1.5.1

  • Tested up to WP v5.5

1.5

  • Tested up to WP v5.3
  • Added enforcement for WordPress and PHP minimum version requirements
  • Fixed minor bug to prevent unintended empty routes
  • Minor text updates and adding textdomain to translation functions that didn’t have them

1.4.3

  • Dodano load_plugin_textdomain() dla i18n

1.4.2

  • Naprawiono problem powodujący niezamierzone odblokowywanie punktów końcowych, gdy wystąpił inny błąd WP_Error, zanim wtyczka wykonała swoją pracę

1.4.1

  • Naprawiono echo adresu URL do głównej strony wtyczek na pulpicie nawigacyjnym WP

1.4

  • Przetestowano dla WP v4.8
  • Przetestowano dla PHP 5.3+
  • Dodano ekran ustawień
  • Administratorzy witryny mogą teraz umieszczać na białej liście trasy, do których chcą zezwolić na nieuwierzytelniony dostęp
  • Dodano filtr dra_allow_rest_api do sprawdzenia is_logged_in(), aby programiści mogli uzyskać bardziej szczegółowe uprawnienia
  • Podziękowania dla @tangrufus za całą pomoc udzieloną w tym wydaniu

1.3

  • Przetestowano dla WP v4.7
  • Dodano nowe funkcje w celu zgłaszania błędów uwierzytelniania w wersji 4.7+ dla niezalogowanych użytkowników

1.2

  • Przetestowano dla WP v4.5
  • Usunięcie akcji, które publikują informacje REST w sekcji head i nagłówku

1.1

  • Zaktualizowano, aby obsługiwać nowe filtry utworzone w API 2.0 beta

1.0

  • Pierwsze wydanie