XML-RPC в WordPress существует еще с самого его появления и является весьма важной составляющей. Без него WordPress был просто недоступен, но не все так гладко, ведь у XML-RPC есть ряд недостатков.
Основным недостатком является то, что он может открыть на вашем сайте слабые места. Поэтому позднее его заменили на WordPress REST API, который в свою очередь отлично взаимодействует с другими приложениями.
Итак, представляем для тех, кто не очень силен в этой теме, полное руководство по xmlrpc.php в WordPress (что это такое, риски и как отключить).
Что такое XML-RPC?
Это механизм, который служит некой связью WordPress и других систем. Такой результат получился путем использования HTTP. XML использовали как механизм кодирования.
XML-RPC появился задолго до появления WordPress. Он существовал лишь в программном обеспечении блогов. В следствие этого в 2003 году был создан WordPress.
В первых версиях WordPress XML-RPC изначально был отключен. Однако в версии 3.5 его снова запустили.
Раньше, чтобы обеспечивать связь с другими платформами для ведения блогов, XML-RPC взаимодействовал, помимо приложения, и с WordPress.
С того момента, как появились REST API и интеграция в ядро WordPress, надобность в использовании файла xmlrpc.php пропала. На сегодняшний день REST API используют в мобильном приложении WordPress. Кроме того REST API располагает намного большими возможностями чем xmlrpc.php
Важно!
Рекомендуется отключать xmlrpc на WordPress. Причина этого в том, что он может обнаружить уязвимость и слабые места на вашем сайте и стать целью атак. Так как XML-RPC больше не нужен, следует его убрать для обеспечения безопасности вашего сайта.
Причина по которой xmlrpc окончательно не убирали из WordPress заключается в том, что у WP всегда присутствует обратная связь, но в большинстве случаев веб-мастера пренебрегают обновлениями, и если используют версию для появления REST API, то доступ к xmlrpc им как никак необходим.
Атаки, с которыми можно столкнуться, не выключив xmlrpc
DDOS атака
Основной функцией в xmlrpc были пингбеки и трекбеки. Это уведомления, появляющиеся во время того, как другой блог или сайт ссылается на ваш контент.
Если на сайте включен XML-RPC, хакеры могут организовать DDoS-атаку на сайт, используя xmlrpc.php, отправляя на сайт пингбеки и тем самым перегружая ваш сервер.
Brute Force атаки
Все время при аутентификации xmlrpc.php всегда отправляет имя пользователя и пароль, что является очень опасным. При помощи этого злоумышленники могут использовать полученные данные и получить доступ к сайту. Данная атака позволит им изменить код и повредить базу данных. Именно поэтому следует отключить xmlrpc.
Чтобы отключить xmlrpc.php, для начала нужно определить включен ли он вообще. Данный процесс не из легких. Из-за того, что файл является частью каждой установки WordPress и будет присутствовать даже если xml-rpc отключен, при удалении следует сперва создать резервную копию сайта.
Чтобы определить, активен ли xmlrpc.php на сайте, необходимо использовать сервис проверки. Сервис тут же определит, включен ли он.
Как отключить xmlrpc?
Простейшим способом будет установка плагина Disable XML-RPC. Именно данный плагин отключает XML-RPC на сайте WordPress.
- add_filter( ‘xmlrpc_enabled’, ‘__return_false’ );
В случае, если не желаете использовать плагин, можно воспользоваться фильтром и файлом functions.php
Помимо данной функции можно использовать .htacess фаил и добавить в него:
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files
В каких случаях стоит оставить XML-RPC?
Вы не используете «REST API», но вам необходимо обмениваться данными между вашим WordPress сайтом и другими системами.
Нет возможности обновить ядро WordPress до версии 4.4 или выше.
Вы работаете с внешним приложением, которое не могут получить доступ к WordPrss «REST API», но хорошо работают с «XML-RPC».
Выводы
Файл находится в WordPress лишь по одной причине: из-за обратной совместимости. Если вы хотите чтобы сайт работал в штатном режиме, вам следует отключить XML-RPC.
XML-RPC был разработан еще до создания WordPress.
XML-RPC является опасным для сайта и информации на нем.
На сегодняшний день XML-RPC сменила REST API.
Так что, отключив данную функцию, вы повысите безопасность своего сайта.