» مرکز آموزش هاست و دامین » توسعه وب » سیستمهای مدیریت محتوا » آموزش غیرفعال کردن XMLRPC در هاست وردپرس
XML-RPC که یک پروتکل فراخوانی از راه دور است برای مدتی طولانی به دلایل امنیتی و به طور پیشفرض غیرفعال شده بود اما اخیرا با انتشار نسخه های جدید آن، مجددا و به طور پیشفرض فعال شده است ضمن اینکه متاسفانه امکان غیرفعالسازی آن از داشبورد وردپرس حذف شده است!
این مقاله، نحوه غیرفعال کردن XMLRPC در هاست وردپرس و دلیل ارائه مجدد آن توسط وردپرس را بیان میکند.
XML-RPC یک پروتکل فراخوانی دستور از راه دور است که اطلاعات را از طریق XML با استفاده از پروتکل http منتقل میکند. به بیانی دیگر XML-RPC سیستمی است که امکان ایجاد پست در وبلاگ وردپرس با استفاده از نرمافزارهای وبلاگ نویسی مانند Windows Live Writer را علاوه بر استفاده از تلفن همراه و دستگاههای مشابه جهت دسترسی به وبلاگ و انتشار مطالب از راهدور را فراهم میکند.
درگذشته نگرانیهای امنیتی زیادی در ارتباط با XML-RPC وجود داشت که منجر به حذف این قابلیت به طور پیشفرض شد اما امروزه با توجه به استفاده روز افزون از تلفن های هوشمند، مجددا فعال گردیده است.
متاسفانه اخیرا گزارشهای ناامید کنندهای در خصوص سیستم مدیریت محتوا WordPress دریافت شده است که یکی از آن ها ایجاد حملات DDOS به سمت فایل xmlrpc.php میباشد.
۱- حذف فایل xmlrpc.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 را غیرفعال کنید.
<Files xmlrpc.php> Order Deny,Allow Deny from all </Files>
با این روش که یکی از بهترین موارد است دسترسی به فایل xmlrpc.php که مورد حمله قرار گرفته قطع خواهد شد.
<FilesMatch "^(xmlrpc\.php|wp-trackback\.php)"> Order Deny,Allow Deny from all </FilesMatch>
server { location = /xmlrpc.php { deny all; } }
با استفاده از این روش نیز تمامی حملات همانند روش قبل خنثی میشوند.