Продолжая глобальное обновление WordPress до версии 4.5.2 можно столкнуться с еще одной проблемой.

WordPress REST API – это общий интерфейс данных и программирования, который позволяет считывать и записывать информацию в WordPress через разные приложения. Теперь разработчикам, которые нацелены на работу с WordPress, не понадобится углубленно разбираться в WP.

REST API появился в WordPress начиная с версии 4.4.

Так вот для работы с WordPress REST API  в шаблон сайта WordPress добавляется код следующего вида:

<link rel='https://api.w.org/' href='http://prostolinux.ru/wp-json/' />

Решить проблему лишнего когда и как следствие появления дополнительных уязвимостей на сайте можно просто, отключив данный функционал через файл function.php.

Подключаемся по FTP к серверу нашего сайта, заходим в папку с шаблоном — что то наподобие wp-content/themes/themeName и находим там файл functions.php
Открываем его и добавляем следующие строки:

// Отключаем сам REST API
add_filter('rest_enabled', '__return_false');

// Отключаем фильтры REST API
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 );

// Отключаем события REST API
remove_action( 'init', 'rest_api_init' );
remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 );
remove_action( 'parse_request', 'rest_api_loaded' );

// Отключаем Embeds связанные с REST API
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
remove_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 );

Теперь сохраняем файл после редактирования, заходим на сайт и смотрим, что код wp-json исчез.


7th Май 2016
Теги:
Загрузка Все права защищены © 2016 ИТ-Инженер (Краснодар)
 
把手拿回