Отключение xmlrpc php вручную
Как отключить XML-RPC в WordPress
Для тех, кто не знает, что такое XML-RPC — это WordPress API, позволяющий (удалённо) выводить, создавать, редактировать и удалять:
А также получать доступ к настройкам и изменять их.
Именно благодаря этому API работают различные приложения для iPhone, iPad и устройств на Android.
Так вот, в предыдущих версиях WordPress была вот такая штука в настройках:
Как известно, от «атома» WordPress отказался полностью, а протокол XML-RPC теперь установлен включенным по умолчанию.
Дело в том, что раньше протокол содержал некоторые уязвимости, а теперь их все залатали.
Для параноиков (я и сам такой) — чтобы отключить XML-RPC, вставляем этот код в functions.php :
Мне вот например не приходится пользоваться приложениями для iOS или Android, я пробовал конечно — ну вообще не понравилось, так что этот протокол мне ни к чему.
Удаляем метатеги с xmlrpc.php из head сайта
Первый удаляется достаточно просто — хуком на wp_head. Чтобы удалить второй, вам скорее всего придётся открыть файл header.php в вашей теме wp и вручную удалить его из HTML-кода.
В теме вашего сайта этих тегов может и не быть.
Смотрите также
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!
Комментарии — 17
Прочитал статью про программу Windows Live Writer, и решил пользоваться ею, как все цивилизованные блогеры. Но при установке связи и авторизации с блогом возникли проблемы. Выскакивает окошко с надписью»Программа Windows Live Writer не может автоматически определять настройки блога. Для продолжения выберите тип блога» Выбираю WordPress 2.2 + Ниже окно для ввода адреса блога, предлагает ввести адрес в виде»http:////xmlrpc.php» Вот здесь и начинаются мучения. После ввода адреса дает ошибку:
«Произошла ошибка при попытке подключится к вашей службе блога по адресу http://ayasam.ru/xmlrpc.php «. Когда ввожу этот адрес в командную строку, получаю такой ответ «XML-RPC server accepts POST requests only.»
Все другие варианты дают ошибку 404. мой сайт на WordPress 3.5 Искал в Инете инфу не нашел. Может кто сталкивался с этой проблемой?
Windows Live Writer не использую, однако я заметил вот что:
Что такое Xmlrpc.php для WordPress и как его отключить
Xmlrpc.php в WordPress используется для удаленного доступа к вашему сайту, через сторонние приложения. Данный инструмент появился, когда WordPress только зарождался и скорость интернета не позволяла быстро создавать и публиковать записи на сайт. Существовал офлайн-клиент, в котором администратор создавал и редактировал записи, а затем через xmlrpc.php записи публиковались на сайт.
В 2008 году было выпущено приложение WordPress для iPhone и поддержка XML-RPC была включена по умолчанию, без возможности отключить.
Зачем отключать xmlrpc.php
Одна из важных причин, из-за которой стоит отключить XML-RPC — это угроза безопасности вашего сайта. Злоумышленники часто используют эту лазейку для взлома пароля от админки вашего сайта, а также для DDoS-атаки.
Часто причиной нагрузки на CPU в хостинг панели является нежелательные подключение через XML-RPC, из-за чего работа вашего хостинга может быть приостановлена.
Проверить можно с помощью XML-RPC Validator. Для этого:
В поле Address введите ваш домен и нажмите Check:
Если вы получили сообщение «Congratulation! Your site passed the first check», то xmlrpc.php на вашем сайте включен.
Если ответ «Failed to check your site at http://domain.ru because of the following error», то xmlrpc.php отключен.
Чтобы отключить XML-RPC выберите нужную инструкцию:
Чтобы отключить XML-RPC, достаточно установить плагин Disable XML-RPC и активировать его. Он автоматически укажет необходимые настройки и закроет доступ через xmlrpc.php.
Установить плагин можно через админку WordPress, в разделе Плагины.
Если вы хотите сделать все вручную без установки плагина:
Откройте или создайте (если он отсутствует) файл .htaccess и вставьте в конце файла строки:
Как правильно отключить XML-RPC
Начиная с первых версий у Вордпресса есть функция удаленного управления сайтом с помощью специальных приложений.
XML Remote Procedure Call — (Вызов удаленной процедуры) используется для подключения к сайту через мобильное приложение WordPress (android, ios).
Эта же функция используется для трекбэков и пингбэков (оповещает владельца сайта о том, что где-то оставили ссылку на его сайт), и используется плагином Jetpack.
История XML-RPC
Когда к интернету подключались через модем и скорость подключения была низкой, публиковать страницы было трудно. Чтобы обойти эту проблему, решили создавать контент на компьютере и потом публиковать его на сайте.
Сервис Blogger создал API и оффлайн-приложение для создания контента, и пользователи стали загружать контент через XML-RPC. После этого остальные блог-платформы сделали то же самое у себя.
В 2008-2009 годах компания Automattic, которая поддерживает плагины WP Super Cache, WooCommerce, Jetpack, VaultPress и другие, выпустила приложение WordPress для мобильных, которое использует интерфейс XML-RPC.
XML-RPC был в Вордпресс с самого начала, но по умолчанию он был выключен. После выхода мобильного приложения, начиная с версии 3.5, функцию сделали включенной по умолчанию.
Проблема XML-RPC
Проблема включенного XML-RPC заключается в том, что роботы подбирают логин и пароль к сайту через файл xmlrpc.php практически без ограничений. Если на главной странице входа на сайт можно установить ограничение попыток авторизации, то через файл xmlrpc.php с помощью нескольких запросов можно попробовать сотни логинов и паролей.
Другая проблема в том, что злоумышленник может использовать пингбэк-сеть Вордпресс сайтов для DDoS атаки на один из этих сайтов, то есть невзломанные сайты сети атакуют выбранный сайт.
В итоге роботы своими запросами расходуют большое количество ресурсов сервера, и могут подобрать правильный логин и пароль. Если вы не пользуетесь этим функционалом, его лучше выключить.
В этой статье вы узнаете 3 способа отключить XML-RPC.
Как отключить XML-RPC в wp-config.php
Как отключить XML-RPC с помощью плагина
Если вы не хотите добавлять код, установите плагин Disable XML-RPC. Этот плагин делает то же самое, что и код в первом способе.
Хотя эти 2 способа хорошо работают, они не запрещают роботам подключаться к XML-RPC. Когда хакбот приходит на сайт и перебирает комбинации логинов и паролей, он использует ресурсы вашего сервера.
Чтобы отключить xmlrpc.php и не дать хакерам нагрузить сервер, отключите xmlrpc в файле .htaccess. В этом случае запрос не будет передаваться в Вордпресс, и робот не получит разрешения для подключения к XML-RPC.
Этот способ не будет нагружать сервер. Это самый правильный способ отключить XML-RPC.
Добавьте этот код в .htaccess:
Частичное отключение XML-RPC
Чтобы отключить XML-RPC частично, добавьте этот снипет в .htaccess:
Измените адреса на те, которым вы хотите разрешить подключение к XML-RPC. Добавьте столько адресов, сколько вам нужно.
Если вы не хотите добавлять код, используйте плагин Stop XML-RPC Attack, он создает правило в файле .htaccess, которое разрешает использовать XML-RPC только плагину Jetpack и другим инструментам Automattic.
Плагины iThemes Security, Anti-Malware Security and Brute-Force Firewall и All in One WP Security & Firewall ограничивают попытки авторизации на стандартной странице входа на сайт и через XML-RPC.
All in One WP Security & Firewall может частично отключить XML-RPC, чтобы работал функционал Jetpack.
Wordfence не отключает XML-RPC, так как разработчики считают, что Вордпресс улучшил встроенную защиту этой функции.
Читайте также:
Надеюсь, статья была полезна. Оставляйте комментарии.
Что такое xmlrpc.php в WordPress и зачем его отключать
В WordPress всегда был встроенный инструмент для удалённого обращения к вашему сайту. Действительно, иногда нужно добраться до своего сайта, а компьютер далеко от вас. Длительное время решением был файл под названием xmlrpc.php. Однако последние годы этот файл стал большей проблемой, чем решением.
Ниже мы подробнее разберём xmlrpc.php и почему он был создан. Мы также рассмотрим общие проблемы безопасности, которые он может вызвать и как их исправить для вашего сайта на WordPress.
Что такое Xmlrpc.php?
XML-RPC – это функциональное средство WordPress, которое позволяет передавать данные, с HTTP выступающим в качестве транспорта и XML – для кодирования. Поскольку WordPress не является закрытой системой и часто общается с другими системами, для этой задачи были найдены решения.
Например, скажем вы хотите сделать публикацию на своём сайте с вашего мобильного телефона. Вам нужно использовать удалённый доступ предоставляемый xmlrpc.php.
Главным функционалом xmlrpc.php являются возможность подключаться к сайту со смартфона, реализация трекбеков и линкбеков с других сайтов и некоторые функции, связанные с плагином Jetpack.
Зачем был создан Xmlrpc.php и как он использовался?
Реализация XML-RPC уходит далеко в ранние дни WordPress и даже до того, как WordPress стал WordPress-ом.
Возвращаясь в те времена, когда интернет только недавно появился, соединения были очень медленными и процесс записи и публикации в вебе был намного сложнее и времязатратнее. Вместо внесения изменений сразу через браузер, большинство делали их в офлайне и потом копировали и вставляли свой контент уже онлайн. И этот процесс был далёк от идеала.
Решением (на тот момент) было создание клиента для офлайн блоггинга, где вы могли составлять свой контент, затем подключаться к своему блогу и публиковать его. Это подключение осуществлялось через XML-RPC. С основным функционалом XML-RPC ранние приложения используя подобные подключения предоставляли людям возможность заходить на их сайты WordPress с других устройств.
XML-RPC сегодня
В 2008 году с версией 2.6 WordPress, появилась опция включения и выключения XML-RPC. Однако с релизом WordPress приложения для iPhone, поддержка XML-RPC была включена по умолчанию и не было возможности для отключения. Так осталось и поныне.
Конечно функциональность, предоставляемая этим файлом значительно уменьшилась со временем, и размер файла уменьшился с 83kb до 3kb, он уже не играет такой роли, как прежде.
Свойства XML-RPC
С новым интерфейсом программирования приложений (API) WordPress мы можем ожидать, что XML-RPC будет уже отключён полностью. Сегодня этот новый API всё ещё на этапе испытаний и может быть включён только через специальный плагин.
Хотя вы можете ожидать, что API будет включён непосредственно в ядро WordPress в будущем, что полностью исключит необходимость использования xmlrpc.php.
Новый API не идеален, но он обеспечивает хорошую надёжную защиту, в отличие от xmlrpc.php.
Зачем отключать Xmlrpc.php
Самой большой проблемой, связанной с XML-RPC, является безопасность. Проблема не напрямую связана с XML-RPC, но его можно использовать для включения атаки на ваш сайт.
Конечно вы можете защититься очень надёжный паролем и плагинами WordPress, обеспечивающими безопасность. Но лучшим режимом защиты будет просто его отключить.
Есть два основных слабых места XML-RPC, которые использовали в прошлом.
Первое – использует атаку путём прямого подбора пароля (brute force attacks) для получения доступа к вашему сайту. Атакующий попытается получить доступ к вашему сайту, используя xmlrpc.php подбирая различные комбинации имён пользователей и паролей. Они могут эффективно использовать одну команду для тестирования сотен различных паролей. Это позволяет им обходить инструменты безопасности, которые обычно обнаруживают и блокируют атаки прямого подбора.
Второе – перевод сайта в офлайн путём DDoS атаки. Хакеры будут использовать обратное уведомление в WordPress для отправки его тысячам сайтов одновременно. Этот функционал xmlrpc.php даёт хакерам почти бесконечное количество IP-адресов для распространения атаки DDoS.
Чтобы проверить, работает ли XML-RPC на вашем сайте, вы можете запустить его с помощью инструмента под названием XML-RPC Validator. Запустите свой сайт с помощью инструмента, и если вы получите сообщение об ошибке, значит, у вас нет поддержки XML-RPC.
Если вы получите сообщение об успешном завершении, вы можете остановить xmlrpc.php одним из двух подходов ниже.
Метод 1: отключение Xmlrpc.php при помощи плагина
Отключить XML-RPC на вашем сайте WordPress невероятно просто.
Перейдите в раздел Плагины › Добавить новый в вашей админ консоли WordPress. Найдите плагин Disable XML-RPC и установите его, он выглядит как на картинке ниже:
Активируйте плагин и всё готово. Этот плагин автоматически вставит необходимый код для отключения XML-RPC.
Однако помните, что установленные плагины могут использовать части XML-RPC, и тогда его отключение может вызвать конфликт плагинов или отдельных их частей и вывод их из рабочего режима.
Если вы хотите только отключить отдельные элементы XML-RPC, но позволить другим плагинам и функциям работать, тогда обратитесь к таким плагинам:
Метод 2: отключение Xmlrpc.php вручную
Если вы не хотите использовать плагин и предпочитаете делать это вручную, следуйте этому подходу. Он остановит все входящие запросы xmlrpc.php до того, как он будет передан в WordPress.
Вставьте этот код в файл .htaccess:
Заключительные мысли
В целом, XML-RPC был добротным решением некоторых проблем, которые возникали из-за удаленной публикации на вашем сайте WordPress. Однако вместе с тем появились некоторые дыры в безопасности, которые оказались довольно опасными для некоторых владельцев сайтов на WordPress.
Чтобы ваш сайт оставался в безопасности, рекомендуется полностью отключить xmlrpc.php, если вам не нужны некоторые функции, необходимые для удаленной публикации и плагина Jetpack. Затем вы можете использовать обходные плагины, которые позволяют использовать эти функции, при этом исправляя дыры в безопасности.
Со временем мы можем ожидать, что функции XML-RPC станут интегрированными в новый WordPress API, который будет поддерживать удаленный доступ, не жертвуя безопасностью.
Вы заблокировали доступ к XML-RPC через плагин или вручную? Или возникли какие-либо проблемы с безопасностью из-за того, что он был прежде активным? Поделитесь своим опытом в комментариях ниже.
Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.
🌐 Как отключить доступ к Xmlrpc.php в WordPress
XML-RPC – это функция WordPress, которая позволяет передавать данные по HTTP с использованием XML в качестве механизма кодирования.
Первоначально он был создан для облегчения связи WordPress с другими системами.
Примером использования этого варианта является размещение на вашем сайте с мобильного устройства с помощью функции удаленного доступа, включенной xmlrpc.php.
Отключаем Xmlrpc.php в WordPress – веб-сервер Apache
Если вы используете веб-сервер Apache, вы можете открыть файл конфигурации сайта и отключить доступ пользователей к xmlrpc.php, добавив следующий блок:
Если вы хотите разрешить доступ только из доверенной сети, добавьте IP-адрес, как показано ниже.
Перезапустите сервер Apache после изменения.
Отключание Xmlrpc.php в WordPress – веб-сервер Nginx
Для пользователей Nginx отключите доступ к xmlrpc.php, добавив строку в файл конфигурации, которая выглядит следующим образом:
Перезапустите сервер Nginx после изменения.
Отключаем Xmlrpc.php в WordPress с плагином
Могут ли взломать сайт, через брут этого файла? А то заколебали – накинулись и сканят его.
Anything in here will be replaced on browsers that support the canvas element