# [WordPress] Jak zablokować XML-RPC, zezwalając na 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
order deny,allow
deny from all
`
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
Order Deny,Allow
Deny from all
Allow from 192.0.64.0/18
Satisfy All
`
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.