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

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](#ninja-popup-768).

> 
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

![Jetpack xml-rpc](https://jaworowi.cz/wp-content/uploads/2017/06/jetpack-xmlrpc-wordpress.png)

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.
