[WordPress] Jak zablokować XML-RPC, zezwalając na działanie JetPackowi?

Naprawa Błędów na stronach internetowych WordPress

Dostałem dzisiaj wiadomość od jednej z użytkowniczek forum wsparcia WordPress, która odwiedziła stronę i wysłała wiadomość poprzez ten formularz.

Zgodnie z zaleceniami zablokowałam dostęp do pliku xmlrpc.php, jednak po aktywacji tej blokady nie mogę korzystać z JetPacka i aplikacji WordPress w telefonie – czy jest możliwość blokady tego pliku w taki sposób, aby Jetpack i aplikacja w telefonie dalej mogły działać?

Czym jest plik xmlrpc.php w WordPress?

Jest zwany „plikiem zdalnej kontroli” – w prostych słowach umożliwia zewnętrznym systemom (np. aplikacji WordPress) na wykonywanie pewnych operacji na stronie. ale też wiele szkodliwych i złośliwych, które wykorzystują go np. do łamania haseł, próbują dodać spam na stronie etc. – z tego też względu zaleca się jego blokadę.

Jeżeli plik ten jest zablokowany: nie można zarządzać stroną poprzez platformę WordPress.com, aplikacja WordPress nie jest w stanie się połączyć z serwisem, VaultPress nie jest w stanie wykonywać kopii zapasowych, a podczas próby aktywacji wtyczki otrzymasz błąd 403 site_inaccessible 

Jak zablokować XML-RPC w WordPress i poprawić bezpieczeństwo?

Aby zablokować ten plik, wystarczy zablokować jego wykonywanie na serwerze, poprzez dodanie poniższego kodu do pliku .htaccess

#Dodaj do htaccess
#Blokada xmlrpc.php
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

Jednak jak wspominałem – zablokuje to wykonywanie wszelkich skryptów i możliwość połączenia się z witryną przez te, które wymagają tego pliku do działania.

Jak zablokować XML-RPC i pozwolić na działanie JetPackowi, ValuePress oraz aplikacji WordPress?

Po dodaniu kodu z poprzedniego akapitu w panelu WordPress.com zobaczymy taki komunikat, a aktywacja wtyczki JetPack będzie niemożliwa, podobnie jak logowanie poprzez WordPress.com i wszystkie funkcje związane z tą wtyczką:

Ta strona jest niedostępna. Disconnect Site

Aby JetPack działał poprawnie do pliku .htaccess należy dodać tę formułę – jednocześnie usuwając poprzednią (o ile istnieje):

#Dodaj do htaccess
#Blokada xmlrpc.php
#Zezwól na JetPACK
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
Allow from 192.0.64.0/18
Satisfy All
</Files>

Od teraz wszystkie usługi będą działać bez problemu.

Jeżeli chcesz zezwolić innym skryptom i/lub serwisom na dostęp do strony, wystarczy dodać linijkę z adresem IP/zakresem adresów, które mają zgodę na połączenie, analogicznie do 7 linijki powyższego kodu.

[ninja-popup id=768]

Oceń ten artykuł jako pierwszy
dHosting najlepszy serwer dla wordpress i nie tylko
Powiązane tematy: WordPress

Na stronie mogą znajdować się linki polecające (affiliacyjne), które pozwalają utrzymać bloga. Zakup z mojego polecenia nie generuje dla Ciebie dodatkowych kosztów, a ja otrzymam prowizje od kwoty zapłaconej.

2 komentarze do wpisu “[WordPress] Jak zablokować XML-RPC, zezwalając na działanie JetPackowi?”

  1. Avatar autora komentarza Ewelina
    Ewelina

    A co jeśli ma się zmienne IP? Nie uśmiecha się dopisywać każde IP do kodu :)

    1. Avatar autora komentarza Jakub Jaworowicz
      Jakub Jaworowicz[ Autor Artykułu ]

      IP Jetpack jest niezmienne stąd nie wywołuje błędu. Pozostałe adresy będą zablokowane.

Skomentuj Jakub Jaworowicz Anuluj odpowiedź