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

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

XML-RPC به کاربر این امکان ر ا می‌دهد تا از طریق نرم افزار هایی مانند Windows Live Writer از  راه دور و به صورت remote به سایت خود مطلب ارسال کنید. ابزار هایی مثل IFTTT و همچنین اپلیکیشن موبایل وردپرس هم برای برقراری ارتباط با سایت  از همین روش استفاده میکنند.نکته منفی اینجاست که از این قابلیت می توان سؤ استفاده کرد؛ در ادامه به مشکلات امنیتی این ابزار می پردازیم.


 فایل xmlrpc.php در وردپرس با ارسال درخواست از طریق post مورد حمله ی دیداس (DDOS – Denial of Service Attak ) قرار میگیرد و این موضوع می تواند پایداری سایت و یا حتی سرور میزبان را به مخاطره بیاندازد.

 

پروتکل XML-RPC برای مدت زیادی به دلایل امنیتی در وردپرس به طور پیشفرض غیر فعال بود تا اینکه از نسخه ۳.۵ و بالاتر وردپرس وضعیت تغییر کرد و XML-RPC به طور پیشفرض در وردپرس فعال شده و قابلیت غیر فعال کردن آن از طریق پیشخوان وردپرس حذف گردید.با افزایش روز افزودن استفاده از موبایل, این تغییر لازم بود تا XML-RPC در وردپرس به طور پیشفرض فعال باشد.

 

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

  • استفاده از افزونه Disable XML-RPC  - روش توصیه شده نگاه روشن پارس

برخی افراد از ویرایش کدها واهمه دارند و تحت هیچ شرایطی حاضر به ایجاد تغییر در کدهای سایت نیستند ، این قبیل افراد میتوانند از پلاگینهای مرتبط استفاده کنند

  • کد زیر را در فایل function.php یا افزونه اختصاصی سایت ، قرار دهید. (بهتر است تا جای ممکن ، فایل function.php را ویرایش نکنیم ) :

 

add_filter('xmlrpc_enabled', '__return_false');

 

  • جلوگیری از دسترسی به فایل xmlrpc.php از طریق htaccess.

در این روش به طور کلی می توانید دسترسی فایل xmlrpc.php را برای همه آی‌پی ها مسدود نمائید و در صورت تمایل به یک یا چند آی‌پی اجازه دسترسی بدهید(مثلا در کد زیر به آی‌پی 1.2.3.4 اجازه دسترسی داده شده است)

# Prevent Access to xmlrpc.php File

order deny,allow
deny from all
allow from 1.2.3.4