WordPress sistemine ait özelliklerden biri olan xmlrpc.php veri transfer özelliği bazen kendi başına sitelerde yavaşlığa sebep olabilmektedir. Bu yavaşlık genellikle bu dosyaya tekrar tekrar istek gelmesi sonucunda hosting kaynaklarının tükenmesi ile oluşmaktadır.

Bu makalemizde wordpress’te xmlrpc.php dosyasının nasıl devre dışı bırakabileceğinizden bahsedeceğiz. Öncelikle xmlrpc’nin ne olduğunu kısaca anlatalım.

Xmlrpc.php Nedir?

WordPress sisteminde bulunan XML-RPC özelliği sistemsel olarak çalışma mantığından bahsetmek gerekirse. Sitenize bilgisayar üzerinden ulaşamayacağınız noktalarda, tablet veya mobil telefonunuzdan giriş yapmanızı xmlrpc.php dosyası üzerinden gerçekleştirilmektedir.

XML-RPC, HTTP taşıma türü ve XML kodlama ile veri transferine olanak tanıyan wordpress özelliğidir. Açık kaynak olarak ücretsiz dağıtılan wordpress, eklenti veya temaların ya da wordpress kendi sistemiyle iletişime geçmesi gerektiği için, xmlrpc.php dosyası ile gerçekleştirilmekte.

Xmlrpc.php Neden Devre Dışı Bırakılmalı?

Sistem tarafında güvenlik zafiyetine sebep olabilmektedir. Bu direk xmlrpc.php dosyasına bağlı değil bu dosyanın kullanımı sağlanarak brute force atağı almanıza olanak sağlayabilen bir durumdur.

WordPress tarafında kullandığınız güvenlik eklentileri dahil en başta bu dosyayı devre dışı bırakmaktadır. Genel olarak güvenlik açıklarının ana sebebi olarak görebiliriz bu dosyayı. Sonuç olarak veri transferi sağlayan bir dosya olduğu için ilk hedef alınacak zafiyettir.

Bu dosya saldırı anında kullanılması dışında yapılan veri transferleri sırasında da yüksek kaynak kullanımı yapabilmektedir. Özellikle bu dosyadan çok fazla istek geldiğinde RAM ve CPU kullanımı hosting tarafında sınıra ulaşacak ve sonlandırılması gerekecektir. Bu tekrarlanabilen bir işlem olduğu için devredışı bırakılması daha sağlıklı olmaktadır.

Xmlrpc.php Nasıl Devre Dışı Bırakılır?

Eklenti Kurulumu

WordPress sitesinde eklenti ile xmlrpc.php dosyasını devre dışı bırakmak oldukça kolaydır.

Adım 1 – Eklenti Ekle

WordPress admin panelinizde sol menüden “Eklentiler > Yeni Ekle” sekmesine tıklayınız.

Adım 2 – Şimdi Kur

Sağ köşede ki arama bölümüne Disable XML-RPC yazınız ve aşağıdaki görselde ki gibi çıkan eklentiyi yükleyiniz ve aktifleştiriniz.

Sonrasında ek olarak bir işlem yapmanıza gerek kalmayacaktır. Otomatik olarak eklenti xmlrpc.php dosyasını devre dışı bırakan kodu ekleyecektir.

Tabi belirtmek isteriz ki kullandığınız eklentilere bağlı olarak xmlrpc.php dosyasının devre dışı kalması çakışmalara sebep olabilir veya sitede olumsuzluklar yaratabilir.

Htaccess ile XMP-RPC Devre Dışı Bırakma

Adım 1 – Hizmet Listesi

Müşteri paneline giriş yaptıktan sonra Hizmetler > Hizmet Listesi sayfasına giriş yapın.

Hosting paketinizin sağ tarafında ki Yönetim butonuna tıklayınız.

Adım 2 – cPanel’e Bağlan

Hosting yönetim paneline giriş yaptıktan sonra sol menüden cPanel’e Bağlan butonuna tıklayınız.

Adım 3 – Dosya Yöneticisi

cPanel yönetim paneli sayfasında, Dosyalar kategorisinin altında bulunan Dosya Yöneticisi sekmesine tıklayınız.

Adım 4 –  Htaccess Dosyası

Dosya yöneticisi sayfasında public_html klasörüne giriniz.

Açılan sayfada .htaccess dosyası olması gerekmektedir. Eğer görünmüyor ise sağ üst tarafta bulunan ayarlar sekmesinden Gizli Dosyaları Göster kutucuğunu işaretleyip kaydediniz. Ardından .htaccess dosyasına sağ tıklayıp Edit butonuna tıklayınız.

Adım 5 – Düzenle / Edit

Açılan ekranda Edit butonuna tıklayınız.

Adım 6 – HTTPS Kodu

Aşağıda verilen kodları .htaccess dosyasının en altına yapıştırınız. Ardından sağ üst tarafta bulunan Değişiklikleri Kaydet butonuna tıklayınız.

Eklemeniz gereken kod parçası aşağıda belirtilmiştir.

# Block WordPress xmlrpc.php requests
<files xmlrpc.php="">
order deny,allow
 deny from all
 allow from xxx.xxx.xxx.xxx
</files>

Kod eklendikten sonra herhangi bir işlem yapılmasına gerek yoktur. Ancak belirtmek isteriz ki bu tip durumlarda baze xml-rpc tarafına gelen ataklar durdurulamayabiliyor. Bu tip bir durumda teknik destek talebi ileterek kontrol sağlanmasını talep edebilirsiniz.