Как отключить REST API?

Правильно отключаем rest api wordpress

Разберем, как избавиться от лишнего мусора в коде сайта – отключить REST API WordPress.

Что это и как работает?

Это технология, которая позволяет управлять WordPress-сайтом извне. В ВордПресс, начиная с версии 4.4, поддержка набора функций REST API встроена в ядро. С их помощью вы можете создавать/редактировать/публиковать записи, управлять пользователями сайта, не входя в его админку, т.е. не использовать админ-интерфейс.

Все запросы выполняются с использованием JavaScript Object Notation (JSON). Это язык, специально предназначенный для отправки, получения и хранения данных. В его основе которого лежит JavaScript.

Зачем отключать?

Многие владельцы сайтов не нуждаются в управлении своим сайтом каким-либо иным способом, как через админ-панель. Поэтому имеет смысл отключить этот функционал.

Есть несколько способов.

Как отключить REST API?

Способ 1. Плагин Disable REST API

Плагин Disable REST API работает “из коробки” и не имеет каких-либо настроек. Для решения задачи его необходимо лишь установить и активировать.

Способ 2. Вручную

Этот способ подойдет для тех, кто не хочет устанавливать на свой сайт дополнительные плагины. В этом случае необходимо будет вручную вставить специальный код в файл Вашей темы functions.php:

add_filter( 'rest_enabled', '__return_false' );
remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' );
remove_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 );
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
remove_action( 'auth_cookie_malformed', 'rest_cookie_collect_status' );
remove_action( 'auth_cookie_expired', 'rest_cookie_collect_status' );
remove_action( 'auth_cookie_bad_username', 'rest_cookie_collect_status' );
remove_action( 'auth_cookie_bad_hash', 'rest_cookie_collect_status' );
remove_action( 'auth_cookie_valid', 'rest_cookie_collect_status' );
remove_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 );
remove_action( 'init', 'rest_api_init' );
remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 );
remove_action( 'parse_request', 'rest_api_loaded' );
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
remove_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'wp_head', 'wp_oembed_add_host_js' );

Если вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Способ 3. Плагин Clearfy Pro

Плагин Clearfy Pro, о котором мы писали в одном из наших материалов, среди прочих своих функций, тоже «умеет» отключать REST API.

Для этого необходимо в админ-панели щелкнуть на Clearfy Pro и перейти на вкладку Код, где напротив пункта Отключить JSON REST API передвинуть вправо ползунок и нажать кнопку Сохранить изменения.

Отключение REST API в плагине Clearfy Pro

Активировать промокод на 15%

Михаил Петров/ автор статьи

Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.

Понравилась статья? Поделиться с друзьями:
WordPress Plus