امنیت و هاردنینگ (Security) Filter Hook پلتفرم: wordpress مبتدی (Easy) سطح ریسک: پایین و بی‌خطر (Low Risk)

غیرفعال کردن کامل پروتکل XML-RPC در وردپرس

تست‌شده و بازبینی‌شده در 1405/06/29 ۰ بار کپی ۷ مشاهده
پاسخ سریع و خلاصه کاربردی (Quick Answer)

کد زیر را به functions.php یا یک افزونه اختصاصی اضافه کنید تا پروتکل XML-RPC به کلی غیرفعال شود.

مشخصات فنی و شناسنامه کد (Code Information)

بازبینی: 1405/06/29
پلتفرم اجرایی (Platform) wordpress
نوع کد (Code Type) Filter Hook
محل قرارگیری فایل (Location) functions.php یا افزونه اختصاصی (Must-Use Plugin)
سطح دشواری (Difficulty) مبتدی (Easy)
سطح ریسک (Risk Level) پایین و بی‌خطر (Low Risk)
نیاز به بکاپ اولیه؟ خیر (کم‌ریسک)
سازگاری با وردپرس تمامی نسخه‌های وردپرس
سازگاری با ووکامرس و HPOS سازگار
|
<?php
/**
 * غیرفعال‌سازی کامل پروتکل XML-RPC و حذف هدر مربوطه
 */
add_filter( 'xmlrpc_enabled', '__return_false' );

// حذف متاتگ و هدر XML-RPC از خروجی سایت
remove_action( 'wp_head', 'rsd_link' );
add_filter( 'wp_headers', function( $headers ) {
    unset( $headers['X-Pingback'] );
    return $headers;
} );

کد را کجا قرار دهیم؟ (Placement Guide)

در انتهای فایل functions.php قالب فعال یا در مسیر wp-content/mu-plugins/disable-xmlrpc.php قرار دهید.

مسیر فایل: functions.php یا افزونه اختصاصی (Must-Use Plugin)

این کد چگونه کار می‌کند؟ (How it Works)

هوک xmlrpc_enabled با بازگرداندن مقدار false هر درخواستی به فایل xmlrpc.php را لغو کرده و با حذف هدرهای rsd_link و X-Pingback کاوش این سرویس را متوقف می‌کند.

چه زمانی از این کد استفاده کنیم؟ (Use Cases)

در تمام وب‌سایت‌های وردپرسی که از اپلیکیشن‌های بسیار قدیمی موبایل وردپرس متکی به xmlrpc استفاده نمی‌کنند.

چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)

تنها در صورتی که اپلیکیشن یا سرویسی قدیمی دارید که اختصاصاً به xmlrpc.php نیاز دارد (امروزه REST API جایگزین کامل آن است).

پیش‌نیازهای اجرا

وردپرس ۳.۵ به بالا.

نحوه تست و اطمینان از عملکرد

به آدرس https://site.com/xmlrpc.php بروید؛ پیام XML-RPC server accepts POST requests only باید مسدود شود یا با ارسال پکت تستی خطای 403 بازگردد.

نحوه بازگردانی سریع (Rollback)

کد را از functions.php پاک کنید.

خطاهای رایج و راه‌حل رفع

تداخل احتمالی با افزونه‌های بسیار قدیمی متصل به جت‌پک (Jetpack).

ملاحظات و نکات امنیتی

جلوگیری از حملات Brute-Force چندگانه با استفاده از متد system.multicall در xmlrpc.

تاثیر بر سرعت و پرفورمنس

صرفه‌جویی شدید در ترافیک شبکه و اتصالات پایگاه داده در برابر بات‌های مخرب.

پرسش‌های متداول پیرامون این کد (FAQ)

خیر، هیچ ارتباطی با خزنده‌های گوگل و سئو ندارد و کاملاً یک پروتکل تبادل داده بین برنامه‌ای است.
منابع و مستندات رسمی بررسی‌شده (Official Sources):

سبد خرید شما

0 افزونه

سبد خرید شما خالی است

هنوز محصولی را به سبد خرید اضافه نکرده‌اید. می‌توانید از افزونه‌های اختصاصی ما دیدن فرمایید.

مشاهده فروشگاه افزونه‌ها

ثبت درخواست مشاوره

با تکمیل فرم زیر، کارشناسان فنی بیسکو وب در سریع‌ترین زمان ممکن با شما تماس می‌گیرند.

مشاور
پشتیبانی و مشاوره تخصصی
پاسخگویی سریع کارشناسان
09903336117