توضیحاتی در مورد XML-RPC و نحوه غیرفعالسازی آن

توضیحاتی در مورد XML-RPC و نحوه غیرفعالسازی آن

توضیحاتی در مورد XML-RPC و نحوه غیرفعالسازی آن

XML-RPC مخفف Extensible Markup Language – Remote Procedure Call است.

که یک پروتکل ارتباطی قدیمی است که اجازه میده برنامه‌ها از طریق اینترنت با هم ارتباط برقرار کرده و دستورات را اجرا کنند..

 

دسترسی هایی که این پروتکل میده:

  • سایت ها، نرم افزارها و اپلیکیشن های خارجی با وردپرس ارتباط برقرار کنن.

 

XML-RPC تو وردپرس چه کاری انجام میده؟

وقتی XML-RPC فعال باشه، وردپرس از طریق فایل xmlrpc.php (داخل پوشه public_html) به درخواست‌های خارجی پاسخ میده..

  • انتشار پست از طریق اپلیکیشن‌های موبایل وردپرس
  • ارتباط با ابزارهای وبلاگ‌نویسی دسکتاپ
  • ارتباط با سرویس‌های مثل Pingback و Trackback؛ یا پلاگین Jetpack 

 

XML-RPC باید فعال باشه یا غیرفعال؟

XML-RPC میتونه مفید باشه، اما امنیتی ضعیفی داره و هدف اصلی هکرهاست.

 

دلایل غیرفعال کردن XML-RPC:

جلوگیری از حملات Brute Force (تست رمز عبور)

  • هکرها می‌تونن از طریق xmlrpc.php صدها یا هزاران دفعه نام کاربری و رمز عبور رو تست کنن.
  • در حالی که در وردپرس، لاگین فقط چند بار امکان‌پذیره، اما XML-RPC اجازه میده این کار با سرعت بالا انجام بشه.

جلوگیری از حملات DDoS با استفاده از Pingback

  • این کار می‌تونه باعث حمله DDoS توزیع‌شده بشه که سایت شما به عنوان یک “ربات” استفاده بشه!

 

استفاده بیش از حد منابع سرور (Resource Exhaustion)

  • درخواست‌های متعدد به xmlrpc.php می‌تونه باعث افزایش بار سرور و کندی سایت بشه.

 

عدم نیاز امروزی

  • امروزه بیشتر اپلیکیشن‌ها از REST API وردپرس استفاده می‌کنن که امن‌تر و مدرن‌تره.
  • پس اگر شما از اپلیکیشن قدیمی یا ابزارهایی که از XML-RPC استفاده می‌کنن استفاده نمی‌کنید، فعال بودنش ضرورتی نداره.

 

 

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

غیرفعال کردن از طریق .htaccess

# غیرفعال کردن xmlrpc.php
<Files “xmlrpc.php”>
Order Allow,Deny
Deny from all
</Files>

  • پیشنهاد میشه اگر سرور Apache دارید از این روش استفاده کنین.

 

 

غیرفعال کردن از طریق functions.php تم فرزند (child theme)

add_filter(‘xmlrpc_enabled’, ‘__return_false’);

  • کد رو داخل فایل functions.php تم فرزند قرار بدین.

 

 

غیرفعال کردن از طریق پلاگین

پلاگین های Wordfence Security ،iThemes Security وAll In One WP Security این امکان رو فراهم کردن.

  • فقط کافیه در تنظیمات امنیتی، گزینه “Disable XML-RPC” رو فعال کنین.

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

  • از اپلیکیشن وردپرس موبایل برای انتشار مقاله استفاده می‌کنید.
  • از Jetpack استفاده می‌کنید (بعضی ویژگی‌ها مثل آمار، اشتراک، امنیت نیاز به XML-RPC دارن).

 

 

پیشنهاد

REST API جایگزین بهتری نسبت به XML-RPC است.

وردپرس از نسخه ۴.۷ به بعد REST API رو به صورت پیش‌فرض اضافه کرد.

 

ویژگی های REST API

  • امنیت بالاتر
  • مدرن تر بودن نسبت به XML-RPC
  • قابلیت احراز هویت بهتری داره (مثل JWT, Application Passwords)

 

 

دیدگاهتان را بنویسید

فهرست مطالب