Начиная с версии WordPress 3.5, в любой установке по дефолту включен xml-rpc — весьма полезная штука, позволяющая в том числе использовать мобильные приложения для ведения сайта.
Однако использование xml-rpc является огромной черной дырой, притягивающей проходимцев всех мастей, которые массово начинают брутфорсить ваш уютненький сайт; это я прочувствовал на своей шкурке, когда нагрузка на хостинг возросла раза в два. Поэтому я давным-давно отключил xml-rpc и жил припеваючи.
Но все же настал момент истины и купив новый телефон на Android, Штукенция сразу начала осваивать мобильный WordPress. Пришлось этот xml-rpc включать; сразу пошли атаки.. В итоге, самым простым решением было создание белого списка IP-адресов для доступа к файлу xmlrpc.php
Как это делается:
1) заходим по sFTP и редактируем святой файл .htaccess , добавляя директиву mod_authz_host
— для версии apache 2.2:
<Files xmlrpc.php>
order deny,allow
allow from <ваш IP-адрес>
deny from all
</Files>
— для версии Apache 2.4:
<Files xmlrpc.php>
Require ip <ваш IP-адресс>
</Files>
Свой IP адрес можно узнать спросив у гугла 🙂 В итоге, получится что-то вроде:
<Files xmlrpc.php>
Require ip 64.233.191.21
</Files>
3) добавляем подобный код в в любое место .htaccess , сохраняем и вуаля!
Теперь только с вашего IP можно получить доступ к xml-rpc. При желании, можно прописать еще и порт.
Буду рад вашим комментариям!
Я не знаю может вы и делали для своей квартиры статический айпишник, а что делать обычному бедному студенту-дрочеру как мне, у которого нет денег на статический, и есть только динамический айпишник. Поэтому, после перезагрузки роутера у вас совсем другой белый адрес. Поэтому статью считаю некорректной, т.к. решает частный случай для статики только.
не перегружать роутер? ) ну или добавьте туда диапазон ИП вашего провайдера