Информационный сайт




Безопасность сайта wordpress



Угроза со стороны разработчиков wordpress!!!!! Внимание!!! В новой версии Wordpress найдена критическая ошибка!!!
Совсем недавно все владельцы сайтов на движке wordpress обновили свои cms и вместе с этим обновлением пришла головная боль, которой мы все не ждали.

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

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

wp json

Не успело 06.04.2016 произойти обновление поисковой системы Яндекс как многие владельцы сайтов на системе управления wordpress версии 4.4 и выше заметили странные изменения в панели вебмастера Яндекс.
А именно, что-то вроде:
  • Резко выросло количество загруженных роботом страниц.
  • Структура сайта изменилась.
  • А ведь мы там ничего не меняли.
  • Появилась непонятная директория wp-json с подкатегориями oembed , /1.0/, embed.

Безопасность сайта
И если Вы откроите url http://ваш_сайт/wp-json то наверняка увидите нечто вроде

Безопасность сайта

И так, что такое wp-json? Изучив внимательнейшим образом сее творение разработчиков wordpress смею Вас заверить что не стоит бить во все колокола и поднимать панику. Это не вирус. Это, прежде всего виртуальная директория для API REST для CMS Wordpress версии 4.4 и выше.

Таким образом, разработчики wordpress внедряют в свое творение новый, плагин для удобного доступа к данным Вашего сайта с помощью HTTP RESET API. Подробности Вы можете изучить на странице разработчика http://v2.wp-api.org/.

Но мы не будем вдаваться в подробности и технические сложности данной инновации. Смущает другое. Почему разработчики wordpress не позаботились о закрытии служебных директорий и оставили их открытыми для поисковых систем? Как избавится от непонятных и не желательных ссылок в поисковой выдаче? А ведь многие сайты Яндекс уже успел проиндексировать!

Не стану, долго рассказывать и объяснять к каким негативным последствиям это может привести. Я надеюсь, что Вы это и сами прекрасно уже поняли и жаждите подробностей, как от этой напасти избавится. Не стану Вас томить и подробно расскажу что нужно делать если ваш сайт стал жертвой технического упущения разработчиков Wordpress.

Как избавиться и отключить wp-json и oembed в WordPress

Прежде всего Вам необходимо в файл robots.txt добавить запрет на индексацию ссылок с wp-json. Для этого добавьте в файл robots.txt строки:
  • Disallow: /wp-json
  • Disallow: /oembed
  • Disallow: /embed
Далее в файле 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 );

Выполнив перечисленные выше действия, мы добилиcь лишь того что закрыли от индексации нежелательные ссылки и теперь вместо страшного и непонятного кода перейдя по ссылкам:
  • http://ваш_сайт/wp-json
  • http://ваш_сайт/wp-json/oembed/
  • http://ваш_сайт/wp-json/oembed/1.0/
  • http://ваш_сайт/wp-json/oembed/1.0/embed/
Вы можете наблюдать главную страницу сайта. Кроме того мы избавились от нежелательной ссылки на http://v2.wp-api.org/ в ответе сервера.

И все вроде в порядке, НО!!! Мы получили нежелательные дубли главной страницы сайта. Самое время поправить и этот нюанс.

Открываем файл .htaccess который находится в корне вашего сайта. Если его там нет то самое время его создать. И прописываем туда:
RedirectMatch 301 /wp-json http:// ваш_сайт.by
RedirectMatch 301 /oembed http:// ваш_сайт.by
RedirectMatch 301 /embed http:// ваш_сайт.by
RedirectMatch 301 /1.0/ http:// ваш_сайт.by
Естественно заменив ваш_сайт.by на свой домен и радуемся жизни.

Теперь все запросы по нежелательным ссылкам будут переадресовываться через 301 редирект на главную страницу Вашего сайта. Это будет актуально особенно для тех, чьи сайты уже успели обзавестись в поисковой выдаче нежелательными ссылками с wp-json.

С уважением команда https://вебдизайн.бел

wp json

Автор статьи Александр Дергачев. Право на публикацию статьи принадлежит Татьяне Родионовской, сайт inoption.info
Источник: Tatjana Rodionovskaja






Яндекс.Метрика