غیرفعال کردن XML-RPC در وردپرس با Disable XML-RPC
برای مدتی بود که پروتکل XML-RPC در وزدپرس به دلایل امنیتی غیر فعال بود تا اینکه تیم توسعهدهنده وردپرس از نسخه 3.5 به بعد آن را قابل اعتماد دانسته و تصمیم به فعال سازی خودکار آن گرفت و منوی مربوط به فعال سازی آن از پیشخوان وردپرس حذف شد.
حال اگر شما هم بنا به دانش خود این قابلیت را غیر ایمن تلقی میکنید و یا اگر تمایلی به استفاده از آن ندارید و میخواهید آن را غیرفعال کنید، در این مقاله از دکتر وردپرس قصد دارم تا به بررسی قابلیت XML-RPC در وردپرس بپردازم و سپس راههای غیرفعال کردن آن را نیز معرفی کنم.
XML-RPC وردپرس چیست؟
تعریفی که در ویکیپدیا برای پروتکل XML-RPC آورده شده است عبارت است از، اکسامال-ارپیسی یک پروتکل «فراخوانی دستورها از راه دور» است که با اکسامال و با استفاده از مکانیسم انتقالی اچتیتیپی اطلاعات را منتقل میکند. به بیان سادهتر این قابلیت به شما این امکان را میدهید تا با استفاده از انواع نرم افزارهای ایجاد شده برای مدیریت سایت همچون Windows Live Writer یا نسخه اندرویدی وردپرس مطالب خود را در سایت منتشر کنید.
و یا اگر نیاز دارید تا سایت وردپرسی خود را به سرویسهایی همچون IFTTT متصل کنید لازم است تا از این پروتکل استفاده کنید. بنابراین اگر قصد دارید تا هر نوع ارتباطی را با سایت وردپرسی خود از طریق نرمافزارها و سرویسهای موجود ایجاد کنید لازم است تا XML-RPC در سایت شما فعال باشد.
همینطور که کاربران موبایلی در حال بیشتر و بیشتر شدن بودند بنابراین تلاش برای فعال کردن این قابلیت به صورت پیشفرض در وردپرس بیشتر شد تا این کاربران از طریق موبایل نیز به راحتی قادر به مدیریت وبسایت خود باشند. اما با این حال ممکن است تا همواره هکرها و سواستفادهکنندگان حفرههای امنیتی برای نفوذ به وبسایت را از طریق این پروتکل پیدا کرده و در سایتهای وردپرسی نفوذ کنند.
بنابراین اگر نیازی به این قابلیت ندارید پیشنهاد میکنم تا انتهای مقاله همراه باشید و این قابلیت را از سایت خود حذف کنید.
غیرفعال کردن XML-RPC در وردپرس
به طور کلی سه راه برای غیرفعال کردن XML-RPC در وردپرس خواهید داشت؛ روش اول استفاده از کدنویسی و دست بردن در فایلهای سایت میباشد و روش دوم استفاده از افزونه، و روش سوم از طریق ویرایش فایل htaccess. میباشد که به بررسی همه موارد خواهم پرداخت، اما از آنجایی که کد غیر غیرفعال کردن XML-RPC در وردپرس ساده و کاربردی میباشد پیشنهاد میکنم از همین روش اقدام کنید.
کد غیر فعال کردن XML-RPC وردپرس
برای غیر فعال کردن XML-RPC در وردپرس از طریق افزودن کد ابتدا به ویرایشگر قالب خود مراجعه کرده و کدهای زیر را در مکان مناسبی از فایل فانکشن (functions.php) قالب خود اضافه کرده و آن را ذخیره کنید.
add_filter('xmlrpc_enabled', '__return_false');
دقت داشته باشید تا قبل از ایجاد هر گونه تغییری در فایل فانکشن قالب خود یک نسخه از آخرین تغییرات آن به عنوان کپی داشته باشید تا در صورت بروز مشکل سریعا آن را رفع کنید.
پس از افزودن این قطعه کد در فایل فانکشن و ذخیره آن این قابلیت از سایت وردپرسی شما غیرفعال شده و وبسایت ایمنتری را خواهید داشت، هرچند تا به امروز این قابلیت جواب خود را پس داده و ایمن میباشد.
افزونه غیرفعال کردن XML-RPC
افزونهای که قصد معرفی آن را دارم با عنوان Disable XML-RPC در مخزن وردپرس به ثبت رسیده و تا به امروز توانسته است تا بیش از 70.000 نصب فعال و کسب امتیاز 5 را ازآن خود نماید.
این افزونه نیز عینا همان قطعه کد بالا میباشد که به صورت افزونه ساخته شده است و پس از نصب و فعال سازی آن نیازی به انجام تنظیمات خاصی نخواهید داشت، چرا که با فعال کردن افزونه قابلیت XML-RPC از سایت وردپرسی شما حذف خواهد شد.
غیر فعال کردن XML-RPC وردپرس از طریق htaccess.
این روش با دو روش قبلی متفاوت است، چرا که در این روش به طور کلی از دسترسی به فایل XML-RPC جلوگیری میکنیم، پس حتی اگر این قابلیت در سایت فعال باشد اما کسی به آن دسترسی نداشته باشد نمیتواند از امکانات آن استفاده کند.
اما این روش یک مزیت نیز دارد، اگر بخواهید تا دسترسی به این فایل را برای یک آیپی خاص فعال کنید میتوانید با تعریف آیپی مورد نظر دسترسی به آن را برای هر چند نفر که میخواهید فعال کنید.
برای این منظور وارد هاست خود شده و کدهای زیر را در مکان مناسبی از فایل htaccess. اضافه کنید. این فایل در ریشه هاست شما قرار دارد اما اگر آن را مشاهده نمیکنید بسته به سیستم کنترل پنل هاستی که دارید نمایش آن را از حالت مخفی خارج کنید تا برای شما قابل مشاهده و ویرایش باشد، سپس کدهای زیر را درون آن قرار داده و به جای 123.123.123.123 آیپی مورد نظر خود را قرار دهید.
# Prevent Access to xmlrpc.php File <Files xmlrpc.php> order deny,allow deny from all allow from 123.123.123.123 </Files>
دقت کنید که فایل htaccess. در هر بار بهروزرسانی پیوند یکتا سایت بهروز شده و کدهای فوق از آن حذف خواهد شد، بنابراین هرگاه تغییری در پیوند یکتای سایت خود ایجاد کردید مجددا میبایست کدهای فوق را در فایل htaccess. قرار داده و آن را ذخیره کنید.
شاد باشید..