Каждый у кого есть свой веб-сайт хочет повысить его безопасность, если нет, то хочет чтобы он был всегда в безопасности... Собственно в этой статье мы и разберем принципы и основы защиты движка WordPress, а конкретно мы посмотрим более детально на файл xmlrpc.php. Не забывайте делать бекапы при изменении или внесении тех или иных правок в файлы. Давайте начнем.
Уязвимость WordPress через файл xmlrpc.php, решение проблемы:
Поясню для незнающих или непонимающих цель данного файла. С его помощью можно управлять блогом на WordPress через различные приложения. Не знаю конечно как большинство, но лично я этим не пользуюсь и соответственно зачем мне оставлять лишний шанс взломать сайт, я его уберу... Ведь файл этот достаточно уязвимый. Однако помните, вы можете убрать его из использования, а потом всегда можете вернуть, если появится необходимость в нем.
Для начала отключим файл xmlrpc.php, через него проходит достаточно много атак на сайт, а это не есть хорошо. Как и обычно есть 2 варианта сделать это, первый внесением правок в файлы .htaccess и functions.php, а также header.php (наиболее правильный на мой взгляд способ). И методом установки плагина, но об этом чуть позже. Перейдем к правкам файлов.
В файл functions.php вставляем:
// отключаем xmlrpc.php add_filter('xmlrpc_enabled', '__return_false'); remove_action( 'wp_head', 'rsd_link' ); |
В файле header.php удаляем:
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" /> |
В файл .htaccess добавляем следующий код (запрещаем доступ к файлу xmlrpc.php):
<Files xmlrpc.php> order deny,allow deny from all </Files> |
Кроме этого способа есть и так скажем автоматический, про который я говорил ранее. Суть его в том, что мы устанавливаем дополнительный плагин "Disable XML-RPC". Способ конечно хороший и достаточно простой, но я его не рекомендую использовать. Почему? Ну все просто, лишний плагин - лишняя нагрузка. Да и зачем ставить плагин туда, где грубо говоря добавив пару строк мы избавимся от ненужной нам функции и сделаем сайт производительнее и легче.
Добрый день.
Если удалять строку в header.php
то при обновлении темы можно забыть снова ее удалить.
Есть ли другие варианты кроме удаления этой строки?
Добрый день. Думаю что нет другого варианта, как вариант конечно написать функцию, но это уже будет такой велосипед не нужный. Мой совет вам, отключайте обновления темы. Они не к чему в большинстве случаев. Тема нужна 1 раз, поставили - настроили - пользуйтесь, а обновлять каждый раз, смысла нет...