XML-RPC چیست؟

XML-RPC یک راه ارتباطی بین سایت وردپرس و برنامه‌ها یا نرم‌افزارهای دیگر است. این قابلیت به شما اجازه می‌دهد تا از طریق برنامه‌های خارجی، مثل نرم‌افزارهای وبلاگ‌نویسی یا اپلیکیشن‌های موبایل، بتوانید مطالب جدید را به سایت خود اضافه کنید، نوشته‌ها را ویرایش کنید یا تنظیمات مختلف سایت را مدیریت کنید، بدون اینکه مستقیماً وارد پنل مدیریت وردپرس شوید.

مثلاً اگر بخواهید با یک نرم‌افزار روی کامپیوتر یا گوشی همراه خود بنویسید و بعد مطلب را به سایت منتقل کنید، XML-RPC این امکان را فراهم می‌کند. در گذشته این قابلیت بسیار پرکاربرد بود و به کاربران کمک می‌کرد تا راحت‌تر و سریع‌تر مطالب خود را منتشر کنند.

اما این روزها اکثر کاربران از خود پنل وردپرس یا اپلیکیشن‌های مخصوص وردپرس استفاده می‌کنند و به همین دلیل XML-RPC کمتر مورد استفاده قرار می‌گیرد.

چرا و چطور باید XML-RPC رو غیر فعال کنیم ؟

در صورتی که مانند بسیاری از کاربران، از نرم افزارهای جانبی برای ارسال مطالب به وب سایت خود استفاده نمی کنید، توصیه می شود قابلیت XML-RPC را غیرفعال نمایید. فعال بودن این قابلیت نه تنها می تواند بستر حملات گسترده DDoS را فراهم کند، بلکه استفاده از ابزارهای خارجی نیز ریسک سرقت اطلاعات کاربری وب سایت شما را به طور چشم گیری افزایش می دهد.

روش های متعددی برای غیرفعال سازی XML-RPC در وردپرس وجود دارد که بسته به سطح دسترسی شما به سرور و میزان آشنایی تان با مسائل فنی، می توانید از یکی از آن ها استفاده نمایید. در ادامه به معرفی این روش ها بر اساس اولویت و سهولت اجرا خواهیم پرداخت.

مسدود سازی XML-RPC در سرور

بهترین روش برای مسدودسازی دسترسی به XML-RPC، در صورتی که از سرور اختصاصی یا مجازی استفاده می کنید، این است که این قابلیت را از طریق فایل پیکربندی وب سرور غیرفعال نمایید. برای انجام این کار کافی است به مسیر مربوطه مراجعه کرده و کدهای زیر را در فایل پیکربندی Apache قرار دهید:

../etc/httpd/conf/httpd.conf


< FilesMatch " ^ (xmlrpc\.php|wp-trackback\.php) ">
Order Deny,Allow
Deny from all
< /FilesMatch>
 

مسدود سازی از طریق فایل htaccess

فایل .htaccess در ریشه سایت و در محلی قرار دارد که وردپرس را نصب کرده اید. توصیه می شود برای ویرایش این فایل، از طریق نرم افزارهای FTP به هاست متصل شوید. سپس وارد پوشه public_html شده و فایل .htaccess را پیدا کنید. در پایان، کدهای زیر را به انتهای این فایل اضافه نمایید:

یادآوری مهم: پیش از اعمال هرگونه تغییر در این فایل، حتماً نسخه اولیه آن را در محلی امن ذخیره کنید. این کار به شما کمک می کند در صورت بروز مشکل، بتوانید به راحتی فایل را به حالت قبل بازگردانید.


< Files xmlrpc.php>
Order Deny,Allow
Deny from all
< /Files>
 

مسدود سازی از طریق فایل function.php

فایل functions.php را باید در پوشه مربوط به قالب سایت خود پیدا کنید. برای این منظور، بهتر است از طریق نرم افزارهای FTP به هاست متصل شوید و این فایل را در مسیر زیر بیابید:

یادآوری مهم: به جای your theme باید وارد پوشه مربوط به قالب فعال سایت خود شوید. سپس کدهای ارائه شده را به انتهای فایل اضافه نمایید.

wp-content > themes > your theme > function.php


function remove_x_pingback($headers) {
unset($headers['X-Pingback']);
return $headers;
}
add_filter('wp_headers', 'remove_x_pingback');
add_filter('xmlrpc_enabled', '__return_false');
 

 مسدود سازی از طریق افزونه

همان طور که در مقاله «راهنمای جامع افزایش سرعت وردپرس» نیز اشاره کردیم، تا حد امکان از نصب افزونه های متعدد خودداری کنید. هر چه تعداد افزونه ها کمتر باشد، عملکرد سایت بهتر و پایدارتر خواهد بود.

با این حال، اگر به هر دلیلی ناچار به استفاده از افزونه برای غیرفعال سازی XML-RPC هستید، افزونه Disable XML-RPC گزینه مناسبی است. با نصب و فعال سازی این افزونه، قابلیت XML-RPC به طور کامل غیرفعال خواهد شد.