Шаг 3. Выбрав объекты для удаления, для полного избавления от зловреда api нажимаем кнопку «Обезвредить».
Шаг 4. Поздравляем, ваш компьютер чист!
Чистилка — совершенная защита от мусорного и ненужного ПО, которое проникает в ваш компьютер через нежелательные программы и рекламные объявления.
Надежная защита от всех вредоносных программ. Чистилка находит и удаляет вредоносные трояны, черви и шпионы.
Источник: chistilka.com
JSON REST API в WordPress: что это и как отключить
Разработчики WP хотят сделать его максимально современным фреймворком для создания сайта. Чтобы делать на основе вордпресса крутые приложения, вытаскивать данные – в ядро WordPress встроили подключение JSON REST API, что это такое и почему для рядового администратора они не нужны, поясню дальше.
Vkontakte API Python | Как работать с методами?
JSON REST API что это такое
В названии метода есть три составляющие, разберем за что отвечает каждая команда. Включили ее с версии 4.4 для разработчиков приложений и программ это был глоток воздуха, ускоряющий внешнюю разработку в разы.
API
Видим из названия аббревиатуру API, означающая, что добавляется возможность подключения к ресурсу с помощью специальных настроек. Точнее сказать к WP можно подключить какое–либо приложение, берущее информацию с запросами из вордпресс.
Полезность для разработчиков, которые хотят, например, сделать на основе сайта, работающего на WP, мобильную программу для андроида.
Rest
Rest – спецификация передачи данных API, проще говоря Rest одна из разновидностей API. Его особенность в сжатии передаваемых данных и встроенная поддержка интернет протоколов htpp-https. Особенностью является обработка GET параметров.
Json
Json – это обработчик, управляющий передачей. Это простой js скрипт, дружественный для большинства систем, распознаваемый людьми и компьютерами. Этот алгоритм совершает соединение WordPress с внешним фреймом, посредством встроенных инструкций. Также управляет, переводит данные в нужный язык для разных программ и может их связывать друг с другом.
Почему нужно отключить json rest api
Выделю четыре причины для отключения инструкций json в WordPress:
- 95% администраторов данный функционал не нужен, они про него не знают
- Возможна более медленная работа, рекомендую совместно убрать загрузку emoji
- Появление уязвимости для DDoS атак
- Ненужное подключение с ссылкой в head на страницу с индексируемым содержимым, то есть в шапке появляется ссылка на внутреннюю автоматическую страницу, которая благополучно сканируется ПС. Так они выглядят визуально:
Работа с API VK (Вконтакте) через JavaScript. Урок 1. Вывод списка друзей
Если вы или ваш личный разработчик пользуется данной функцией, то не выключайте.
Как убрать json rest api
Чтобы убрать тег link с подключением wp-json, использую два метода: с помощью плагина и кодом.
Плагин Clearfy PRO
Наши специалисты в Clearfy PRO учли особенность WordPress и включили пункт по удалению. Переходим в раздел КОД, отмечаем в зеленую зону соответствующий переключатель. Для всех читателей WPCourses скидка 15%.
После деактивации ссылка с тегом link исчезнут из раздела head.
Есть еще плагин Disable REST API , но работающий не со всеми темами. Испытывал на нескольких шаблонах, бывало не срабатывал. Но имеет настройку для страниц и таксономий с архивами где можно выводить rest и json. Для лучшего понимания материала добавил авторское видео.
Результат работы будет аналогичным, но если вы новичок, то лучше использовать 100% способ с помощью Ckearfy PRO. На этом статью закончил, узнали, что такое json rest api WordPress, научились его удалять из исходного кода как ненужное дополнение.
Источник: wpcourses.ru
Как полностью отключить REST API введенный в WP 4.4?
В WordPress 4.4. ввели новый API REST. Толком не знаю зачем он нужен. Вроде для того, чтобы можно было получать содержимое сайта из вне в виде json. В общем, вопрос такой. Как его отключить?
Желательно чтобы он вообще не работал. А конкретно, нужно удалить из html сайта эту строку:
7.5 лет назад 50
Нужно удалить все фильтры REST API и отключить сам API. Для этого поместите следующий код в файл functions.php :
if( ‘Disable REST API’ ) < // Отключаем сам 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 ); remove_action( ‘template_redirect’, ‘rest_output_link_header’, 11 ); 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 ); 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 ); // oembed scripts //remove_action( ‘wp_head’, ‘wp_oembed_add_discovery_links’ ); //remove_action( ‘wp_head’, ‘wp_oembed_add_host_js’ ); >
Фильтры хранятся в этом файле: http://wp-kama.ru/filecode/wp-includes/default-filters.php#L211
П.С. Еще есть плагин для отключения REST API: https://wordpress.org/plugins/disable-wp-rest-api/
А также, есть плагин по этой же теме, который отключает возможность встраивать ваши записи на другом блоге — oembed. Называется Disable Embeds. Некоторые строки из отключения oembed используются в коде выше, потому что они косвенно связаны с REST API.
Отключать REST API не рекомендуется!
REST API используется в админке WordPress, поэтому отключать его опасно! Но можно закрыть все REST запросы (даже публичные) для неавторизованных пользователей:
add_filter( ‘rest_authentication_errors’, function( $result ) < // maybe authentication error already set if ( empty( $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; >);
Подробнее про отключение REST от публичного доступа.
zmoe 7.4 года назад
Вот спасибо, помогли. Только я не понял, почему это появилось у меня только на одном сайте, на остальных такого нет, версия вордпресс одна?
zmoe 7.4 года назад
Написал тоже об этом статью, но кроме этого кода нужно вставить еще несколько строк, чтобы удалились ссылки на эти разделы http://zmoe.ru/wp-json/.
Kama 7.4 года назад
Про какие несколько строк идет речь? Про эту строку?
remove_action( ‘wp_head’, ‘wp_oembed_add_discovery_links’ );
Похоже её тоже нужно включить в этот список. У себя на сайте я её отключил сразу, но почему-то я думал что она не связана с rest api, сейчас посмотрел — связана. И есть еще такой скрипт, но это чтобы сайт мог отображать выводимые через rest блоки с других сайтов. В принципе и его можно отключить.
remove_action( ‘wp_head’, ‘wp_oembed_add_host_js’ );
Спасибо за коммент, дополнил код, еще одной строкой. Ну WP конечно дал. Галку в настройках поставили бы хоть что ли для отключения REST API.
WPShop 7.4 года назад
Для редиректа с http://example.com/wp-json/ на главную, добавьте:
add_action( ‘template_redirect’, function() < if ( preg_match( ‘#^/wp-json/?$#i’, $_SERVER[‘REQUEST_URI’] ) ) < wp_redirect( get_option( ‘siteurl’ ), 301 ); die(); >> );
Роман 7.4 года назад
Спасибо автору сайта, спасибо также zmoe со странным сайтом, где не видно комментариев, а вместо них предлагают поиграть в игру в браузере.
Денис 7.4 года назад
Спасибо блогеру «Kama». Можно ещё поинтересоваться за следующее. на главной так и остался непонятный скрипт, где встречается этот самый json
Иван 7.3 года назад
также интересует этот вопрос
Kama 7.3 года назад
Это никак не связано с REST API! Тут у вас показано что тип данных в json формате. Как если писать
alert(‘foo’);
Vladimir 7.3 года назад
Коллеги, так у кого получилось убрать этого зверя (ld+json) из скрипта плагина Yoast SEO? Поделитесь опытом, а то в вебмастере дубли продолжают плодиться.
Даниил 7.2 года назад
Более полная версия редиректа, перенаправляет еще и все вложенные директории, мне кажется имеет смысл добавить в основную тему.
add_action( ‘template_redirect’, function() < if ( preg_match( ‘#^/wp-json/(.*)#’, $_SERVER[‘REQUEST_URI’] ) ) < wp_redirect( get_option( ‘siteurl’ ), 301 ); die(); >> );
ST 4.3 года назад
Проверил на новом WP 5.1 вышеприведённый код редиректа wp-json на главную. Не работает.
Комментировать
Evgeny Letov promoexpert.pro
Плагин disable-json-api не работает — не удаляет строки.
Ваши инструкции сработали
Комментировать
Подскажите пожалуйста. Вставил указанный код но редиректа с этих страниц не идет, а попадает на 404 ошибку (страница не найдена). В чем может быть дело?
Kama 7.3 года назад
Зачем вам нужен редирект? Кто на эти страницы заходит.
Max 7.3 года назад
Я подумал сто одним из критериев правильной работы решения указанного выше является редирек. Если нет, то редирект не нужен. Тогда еще один вопрос. В вебмастере>»структура сайта» теперь имеется раздел wp-json/. Я так понимаю он должен пропасть после очередного посещения роботом?
Kama 7.3 года назад
Да, конечно пропадет, 404 же отдается.
Алекс 7.3 года назад
Вставил код, но 404 не отдает. На месте того контента что выдавали эти страницы стал выводиться контент с главной, но ответ сервера 200, т.е. не 404 и не 301. Подскажите, как можно сделать чтобы на месте этих страниц выдавалась 404 ошибка?
Mnm 6.7 лет назад
Та же история.
Kama, подскажите куда копать?
Страницы с бредокодом исчезла, но открывается
http://site.com/?url=http%3A%2F%2Fsite.com%2Fcategory%2nazvanie-staty%2FAll in One SEO» (свежая версия), которому нужен REST API. Он будет работать, если убрать строчки кода, отвечающие за:
- Отключение REST API фильтров/событий/Embeds/oembed scripts
Вопрос: Насколько сейчас актуальны вот эти команды — отключение REST API фильтров/событий/Embeds/oembed scripts ? Или достаточно оставить команду — Закрытие всех REST запросов для неавторизованных пользователей?
Kama 2 года назад
Embeds и скрипты вообще не обязательно отключать!
Комментировать
Здравствуйте. Можете помочь советом?
У меня на сайте WP включен JSON REST API. И вот последнее время появилась такая проблема. При работе в редакторе WP процессор хостинга загружается на 100%. В отчете нагрузки куча запросов GET типа /сайт/wp-json/wp/v2/media/15317?context=edithttps://wp-kama.ru/question/kak-polnostyu-otklyuchit-rest-api-vvedennyj-v-wp-4-4″ target=»_blank»]wp-kama.ru[/mask_link]