Mematikan fitur XML-RPC di WordPress adalah langkah pengamanan yang sangat penting. Secara historis, protokol XML-RPC sering disalahgunakan oleh penyerang untuk melancarkan serangan brute force massal (mengirim ratusan hingga ribuan percobaan kata sandi dalam satu permintaan HTTP melalui metode system.multicall) atau serangan DDoS amplification menggunakan fitur Pingback.
Kecuali Anda menggunakan aplikasi pihak ketiga seperti WordPress Mobile App atau plugin tertentu yang bergantung secara langsung pada XML-RPC, fitur ini sebaiknya dimatikan sepenuhnya.
Berikut adalah beberapa metode efektif untuk menonaktifkan XML-RPC di WordPress.
Metode 1: Menggunakan Pengaturan .htaccess (Paling Direkomendasikan untuk Apache)
Cara paling efisien untuk memblokir akses ke XML-RPC adalah langsung menolaknya di tingkat peladen web sebelum permintaan mencapai WordPress.
Tambahkan kode berikut ke dalam berkas .htaccess utama yang berada di direktori root situs WordPress Anda:
Apache
# Blokir akses ke xmlrpc.php
<Files xmlrpc.php>
Require all denied
</FilesStatus>
(Atau gunakan Order Deny,Allow / Deny from all jika menggunakan Apache versi lama).
Metode 2: Menggunakan Konfigurasi Nginx
Jika peladen Anda menggunakan Nginx, tambahkan aturan pemblokiran berikut ke dalam berkas blok server (vhost) Anda:
Nginx
# Blokir akses langsung ke xmlrpc.php
location = /xmlrpc.php {
deny all;
return 403;
}
Setelah menambahkan konfigurasi, jangan lupa jalankan sudo nginx -t lalu sudo systemctl reload nginx.
Metode 3: Menggunakan Filter PHP di functions.php atau Plugin Khusus
Jika Anda tidak memiliki akses ke pengaturan server web (.htaccess atau Nginx), Anda bisa menonaktifkan fungsionalitas XML-RPC melalui filter internal WordPress.
Tambahkan kode berikut ke dalam berkas functions.php pada tema aktif Anda (atau sebagai must-use plugin):
PHP
// Menonaktifkan XML-RPC sepenuhnya
add_filter('xmlrpc_enabled', '__return_false');
// Menghapus header X-Pingback dari respons HTTP
add_filter('wp_headers', function($headers) {
unset($headers['X-Pingback']);
return $headers;
});
Cara Menguji Apakah XML-RPC Sudah Nonaktif
Setelah menerapkan salah satu metode di atas, Anda wajib memastikannya berhasil dengan cara:
- Buka peramban (browser) dan akses URL:
[https://namadomainanda.com/xmlrpc.php](https://namadomainanda.com/xmlrpc.php) - Hasil yang Diharapkan:
- Jika menggunakan Metode 1 atau 2, Anda akan melihat halaman error 403 Forbidden.
- Jika menggunakan Metode 3, halaman mungkin merespons dengan teks standar XML-RPC seperti:
XML-RPC server accepts POST requests only.(meskipun aktif secara kode, metode otentikasi utamanya sudah ditolak oleh WordPress).


