Intereting Posts
Запрос для всех тем? Изменение URL ресурса WordPress Сделать меню навигации в том же сообщении Изображения не генерируются при правильном размере добавление пользовательского класса времени в <body> в теме двадцать шестнадцать Как я могу установить и обновить значение the_date в соответствии с настраиваемым полем сообщения Сайт взломан вредоносной программой Исключать изображения из «вставленных в сообщение» при попытке получить вложения нужна помощь для создания 5 динамических выпадающих списков из MySQL Php Ajax jQuery Изменение / замена символа клавиатуры при нажатии клавиши при записи нового сообщения Отображение постоянного значка Google Plus на всех страницах моего сайта Почему эти ошибки появляются на моем сайте WordPress? Как автоматически удалить ссылки по умолчанию в WordPress WordPress 3.8. Схема управления контентом админка добавляет больше схем, как это сделать? Сеть сайтов с подпапками

Лучший способ устранить xmlrpc.php?

Каков наилучший способ удалить файл xmlrpc.php из WordPress, когда он вам не нужен?

Solutions Collecting From Web of "Лучший способ устранить xmlrpc.php?"

Поскольку WordPress 3.5 этот параметр ( XML-RPC ) включен по умолчанию, и возможность отключить его из dashboard WordPress исчезла.

Добавьте этот фрагмент кода для использования в functions.php :

 // Disable use XML-RPC add_filter( 'xmlrpc_enabled', '__return_false' ); // Disable X-Pingback to header add_filter( 'wp_headers', 'disable_x_pingback' ); function disable_x_pingback( $headers ) { unset( $headers['X-Pingback'] ); return $headers; } 

Хотя он делает то, что он говорит, он может интенсифицироваться, когда сайт находится под атакой, нажимая его.
Вы можете лучше использовать следующий фрагмент кода в вашем файле .htaccess .

 # Block WordPress xmlrpc.php requests <Files xmlrpc.php> order allow,deny deny from all </Files> 

Или используйте это, чтобы отключить доступ к файлу xmlrpc.php из блока сервера NGINX.

 # nginx block xmlrpc.php requests location /xmlrpc.php { deny all; } 

Имейте в виду, что отключение также может повлиять на вход в систему через мобильный. Если я правильно использую мобильное приложение WordPress, это нужно.
Дополнительную информацию об использовании XML-RPC см. В Codex .

  • Перед редактированием / добавлением всегда делайте резервную копию файла (ов).


Редактировать / Update

@Prosti, -Вы абсолютно правы, о вариантах, которые RESTful API предложит для WordPress!

Я забыл упомянуть об этом. Он уже должен был быть интегрирован в ядро ​​( WordPress версии 4.1 ), которое в то время было невозможно. Но, как кажется, будет основным в WordPress 4.5.

Альтернативой на данный момент является этот плагин: WordPress REST API (версия 2)
Вы можете использовать его, пока Restful API также не станет ядром для WordPress.
Целевая дата выпуска WordPress 4.5. (12 апреля 2016 года (+ 3w))

Для тех, кто интересуется RESTful , на Stackoverflow очень хорошая вики сообщества.

Мы используем файл htaccess для защиты от хакеров.

 # BEGIN protect xmlrpc.php <files xmlrpc.php> order allow,deny deny from all </files> # END protect xmlrpc.php 

Лучше всего отключить функции xmlrpc.php с помощью плагина, а не удалять или отключать сам файл. Сам файл будет заменен на основные обновления WordPress, в то время как плагин будет отключен после основных обновлений и если вы измените темы.

См. https://wordpress.org/plugins/search.php?q=disable+xml-rpc для разных плагинов. Все они имеют незначительные отличия.

Эти плагины выполняют ту же функцию, что и функция, добавленная в файл functions.php темы или добавление order,allow deny правило order,allow deny .htaccess (как указано в других ответах), причем разница в том, что плагин или функция отключает вызовы xmlrpc.php через PHP, а правило в .htaccess работает, используя mod_rewrite в веб-сервере (то есть Apache или Nginx). Не существует заметной разницы в производительности между использованием PHP и mod_rewrite на современном сервере.

Для крайнего меньшинства, в котором размещается WordPress в IIS, вы можете использовать модуль перезаписи URL-адреса IIS для выполнения аналогичных ограничений, связанных с htaccess. В приведенном ниже примере предполагается, что истинный клиентский IP-адрес входит в заголовок X-Forwarded-For, известный белый белый список – 55.55.555.555 и что вы хотите отвечать HTTP-404 на не-белые списки.

 <rule name="wordpress-restrictions" enabled="true" stopProcessing="true"> <match url="(^xmlrpc.php)|(^wp-admin)|(^wp-login.php)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTP_X_FORWARDED_FOR}" pattern="(^55\.55\.555\.555$)" negate="true" /> </conditions> <action type="CustomResponse" statusCode="404" subStatusCode="44" statusReason="File or directory not found" statusDescription="The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable." /> </rule> 

В первом случае вы можете поместить код add_filter('xmlrpc_enabled', '__return_false'); в файле functions.php или плагине, специфичном для сайта. Ясно, что его размещение на сайте более рекомендуется, чем редактирование файла functions.php .

и другие способы устранения xmlrpc

Недавно я установил Wordfence, который с версии 6.3.12 имеет возможность блокировать прямой доступ к любому местоположению. Помещение /xmlrpc.php на страницу «Параметры» в списке запрещенных IP-адресов «Немедленно блокировать IP-адреса, которые обращаются к этим URL-адресам» , теперь показывает, что одна попытка блокируется каждые 15 минут.

Это также имеет то преимущество, что вы можете заблокировать URL-адрес, чтобы убежать от этих досадных ботов, которые возвращаются с другим IP-адресом снова и снова.

Я не знаю, разрешает ли это использование xmlrpc.php приложениями для действительных операций.

У меня были некоторые проблемы с этим, производя 504 Timeout и 502 Bad Gateway ошибки на сервере вначале, но он, похоже, успокоился.

Очень впечатлен результатом до сих пор, и он создал ценный профиль очистки после того, как сайт был взломан, прежде чем устанавливать Wordfence и, несмотря на то, что у него всегда была последняя версия WordPress и плагинов.

Wordfence https://www.wordfence.com/