xml-rpc چیست و آموزش غیرفعال کردن آن در وردپرس

XML-RPC یک ویژگی وردپرس است که امکان انتقال داده ها را فراهم می کند، این مورد با استفاده از پروتکل HTTP به عنوان مکانیزم حمل و نقل و از XML به عنوان مکانیسم کدگذاری استفاده می نماید. از آنجا که وردپرس یک سیستم مستقل نیست و گاهی اوقات نیازمند برقراری ارتباط با دیگر سیستم ها است، این سیستم به دنبال آن ایجاد شده است.

به عنوان مثال، شما می خواهید از دستگاه تلفن همراه خود اقدام به ارسال یک پست در سایت وردپرسی خود نمایید، زیرا کامپیوتر خود را نمی توانید با خود حمل نمایید و یا به آن دسترسی ندارید. شما می توانید از قابلیت دسترسی از راه دور که توسط فایل xmlrpc.php در وردپرس فعال شده است برای انجام این کار استفاده نمایید.

ویژگی هایی در فایل xmlrpc.php فعال شده است تا به شما امکان اتصال به سایت را از طریق گوشی هوشمند، پیاده سازی Trackbacks و Pingbacks از سایر سایت ها و برخی از توابع مرتبط با پلاگینی مانند Jetpack را می دهد.

 دلیل ایجاد فایل Xmlrpc.php و نحوه استفاده از آن :

پیاده سازی XML-RPC به روزهای اولیه وردپرس پیش از آن که به یک سیستم مدیریت محتوای محبوب به مانند امروز تبدیل شود، باز می گردد.

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

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

دلیل غیر فعال سازی xml-rpc در وردپرس ؟

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

به طور مثال هکرها می توانند از این قابلیت به عنوان یکی دیگر از راه های brute force و دسترسی به اطلاعات سایت وردپرسی شما از قبیل نام کاربری و کلمه عبور سایت شما استفاده کنند.

مطمئنا، شما می توانید سایت وردپرسی خود را با رمزهای عبور فوق العاده قوی و پلاگین های امنیتی ایمن نمایید. اما بهترین حالت محافظت این است که آن را به سادگی غیر فعال کنید.

دو ضعف عمده برای XML-RPC وجود دارد که باعث سو استفاده از این فایل می گردد.

مورد اول را می توان استفاده از حملات brute force برای دسترسی به سایت دانست. یک مهاجم با استفاده از نام کاربری و رمزهای عبور مختلف، سعی خواهد کرد تا با استفاده از فایل xmlrpc.php به سایت شما دسترسی پیدا کند. آنها می توانند به طور موثر از یک فرمان واحد برای آزمایش صدها کلمه عبور مختلف استفاده کنند. این به فرد مهاجم اجازه می دهد تا از ابزارهای امنیتی که به طور معمول حملات brute force را شناسایی و مسدود می کنند، دور بماند.
مورد دوم، حمله DDoS از طریق pingback می باشد. هکرها از ویژگی pingback در وردپرس برای ارسال pingbacks به هزاران سایت به صورت لحظه ای استفاده می کنند. این کار به هر هکری اجازه می داد تا با تعداد نامحدودی آیپی حملات DDoS را روی صد میلیون سایت وردپرس ترتیب دهد آن هم بدون آن که به آنها نفوذ کرده باشد.

انواع روش غیرفعال سازی xml-rpc در وردپرس :

روش اول : (استفاده از افزونه وردپرس )

افزونه هایی برای غیرفعال سازی این مورد ساخته شده اند که از مثال های بارز آن می توان به افزونه ی"Disable XML-RPC"  اشاره کرد.

افزونه های دیگر هم وجود دارند که با استفاده از آن ها می توانید این کار را انجام دهید که در این مورد می توان به "iThemes Security" و هم چنین "NinjaFirewall" اشاره کرد.

آموزش نصب افزونه Disable XML-RPC  :

ابتدا وارد بخش افزونه ها در مدیریت وردپرس خود می شوید و سپس طبق شماره (1) در تصویر، در کادر جست و جو  کافی است افزونه "Disable XML-RPC" را جست و جو  نمایید و سپس همانطور که بر اساس راهنمای شماره (2) در تصویر مشاهده می نمایید ، می توانید با کلیک بر روی گزینه "هم اکنون نصب کن" اقدام به نصب و سپس فعال سازی آن نمایید.

تصویر (1)

پس از نصب و فعال سازی افزونه نیاز به انجام کار خاصی نمی باشد و این افزونه به صورت خودکار فایل مذکور را در هاست شما غیر فعال می نماید.

روش دوم (استفاده از کد نویسی در فایل function.php  قالب وردپرس)

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

add_filter('xmlrpc_enabled', '__return_false');

فایل functions.php در wp-content/themes در مسیر Public_html در هاست شما قابل دسترسی می باشد.

نکته : قبل از انجام این کار ابتدا از هاست خود یک نسخه پشتیبان تهیه نمایید یا یک نسخه کپی از فایل Function.php تهیه کرده تا در صورتی که مشکلی برای سایت شما ایجاد شد بتوانید اقدام به برطرف کردن آن نمایید.

روش سوم ( استفاده از کد در فایل .htaccess  هاست خود )

در روش سوم، عملا به جای غیر فعال کردن کامل فایل XML-RPC، از طریق فایل .htaccess، به طور کامل از دسترسی به فایل xmlrpc.php جلوگیری به عمل آورید. وقتی کسی نتواند به فایل xmlrpc.php دسترسی پیدا کند، از امکانات XML-RPC هم نمی تواند استفاده یا سوء استفاده نماید.

مزیت این روش این است که در این حالت می توانید یک یا چند آی پی خاص را جهت دسترسی به این فایل را مجاز نمایید.

1 ) دسترسی به فایل .htaccess  در هاست Direct Admin :

ابتدا با استفاده از اطلاعات ورود، شامل نام کاربری و رمز عبور به هاست دایرکت ادمین خود ورود نمایید و سپس طبق تصویر زیر بر روی گزینه "File Manager" کلیک نمایید.

 

تصویر (2)

پس از ورود به بخش نام برده به مسیر "Public_html " رفته و فایل ".htaccess" را پیدا کنید. (شماره 1) و سپس بر روی گزینه"Edit" کلیک نمایید.(شماره 2)

تصویر (3)

نکته 2 : ممکن است این فایل در هاست دایرکت ادمین شما وجود نداشته باشد، جهت این مورد کافی است در انتهای این صفحه بر روی گزینه "Create New File" کلیک نمایید و فایل مورد نظر را ایجاد نمایید.

پس از انتخاب گزینه "Edit" وارد بخش ویرایش فایل .htaccess می شوید و سپس طبق کد زیر را در فایل مذکور وارد می نمایید:

# Prevent Access to xmlrpc.php File

<Files xmlrpc.php>

order deny,allow

deny from all

allow from 123.123.123.123

</Files>

در انتها کافی است طبق تصویر شماره 4 بر روی گزینه "Save As" کلیک نمایید تا کد مذکور در فایل .htaccess ذخیره گردد.

تصویر (4)

2) دسترسی به فایل .htaccess  در هاست Cpanel :

پس از ورود به هاست خود از بخش "File manager" وارد مسیر "Public_html" شوید و پس از ورود، ابتدا فایل ".htaccess" انتخاب نمایید (شماره1) و سپس بر روی گزینه "Edit" کلیک نمایید. (شماره 2) تا وارد محیط ویرایش فایل مذکور شوید.

 

تصویر (5) 

نکته 3 : ممکن است فایل .htaccess در هاست سی پنل شما مخفی باشد جهت این مورد می بایست بر روی گزینه "setting" برای منو بالای Cpanel کلیک نمایید و گزینه "Show Hidden Files" را فعال نمایید.

نکته 4 : در صورتی که با فعال کردن گزینه Show Hidden Files فایل .htaccess را مشاهده نکردید به این معنی است که فایل مورد نظر در هاست موجود نیست. ابتدا گزینه "New File" شماره (1) در بالای cpanel را انتخاب نمایید. در کادر مشخص شده نام فایل مورد نظر را تایپ نمایید (شماره 2) و در انتها بر روی گزینه "Create New File" کلیک نمایید (شماره 3) تا فایل مورد نظر ایجاد گردد.

 

تصویر (6)

پس از مشاهده فایل ".htaccess" و ورود به آن می توانید کد زیر را در فایل قرار دهید و سپس بر روی گزینه "Save"  کلیک نمایید :

# Prevent Access to xmlrpc.php File

<Files xmlrpc.php>

order deny,allow

deny from all

allow from 123.123.123.123

</Files>

می توانید به جای IP پیش فرضی که در کد بالا مشاهده می نمایید آی پی خود را وارد نمایید تا صرفا شما دسترسی به فایل مورد نظر را داشته باشید. هم چنین در صورتی که قصد دارید به طور کلی از این امکان استفاده نکنید، می توانید این خط را به طور کامل حذف کنید تا دسترسی به فایل xmlrpc.php برای همه غیر مجاز باشد.



آیا این پاسخ به شما کمک کرد?

افزودن به مورد علاقه ها افزودن به مورد علاقه ها

پرینت این مقاله پرینت این مقاله

در همین زمینه
آموزش نصب وردپرس (مشاهدات: 6780)

هر گونه مشکل و سوالی دارید، تیم ما آماده پاسخگویی می باشد

هم اکنون ارتباط را برقرار کنید

بخش مورد نظر را انتخاب کنید


در حال حاضر 8 نفر از همکاران Online در حال پاسخگویی هستند

کانال های ما
کانالهای ما