По-умолчанию в CMS WordPress включен REST АПИ, применять который можно по ссылке:
https://имя_веб-сайта/wp-json/
Далековато не многим необходим этот функционал, но в последних версиях создатели все усложняют отключение REST АПИ и не дают обладателю веб-сайта его отключить через панель управления. В такой статье мы рассмотрим, как отключить доступ к REST АПИ в WordPress.
Описание
REST АПИ — предоставляет интерфейс для сотрудничества с вашим веб-сайтом, которые работают на CMS WordPress, с внедрением json запросов. Умеет делать чрезвычайно много вещей, но на большинстве маленьких веб-сайтов просто не употребляется, потому быть может без вопросов выключен.
Отключаем WORDPRESS REST АПИ
Метод 1 (задействуя плагин)
Для тех, кто опасается вручную редактировать файлы темы, есть возможность установить особый плагин, отключающ?? REST АПИ.
Ссылка на плагин: https://wordpress.org/plugins/disable-json-api/
Устанавливаете плагин, активируете его и проверяете, что доступ ограничился.
Способ 2 (без использования плагина)
К сожалению легкого способа с полным отключением REST API я не нашел (только отключение всех его фильтров и событий), но есть способ с помощью которого, можно заставить его всегда отдавать ошибку при обращении к соответствующему url адресу на вашем сайте https://имя_сайта/wp-json/
Для этого необходимо добавить следующие строчки в файл functions.php активной темы оформления:
add_filter( 'rest_authentication_errors', function( $result ) { return new WP_Error( 'functionality disabled', 'Sorry, rest API is disabled.', array( 'status' => 401 ) ); });
После чего при обращении к wp-json будет выводиться ошибка с кодом 401:

add_filter( 'rest_authentication_errors', function( $result ) { if (!empty( $result)) { return $result; } if (!is_user_logged_in()) { return new WP_Error('rest_not_logged_in', 'You are not currently logged in.', array( 'status' => 401 ) ); } return $result; });

Добавить комментарий