آموزش غیرفعال کردن REST API در وردپرس

آخرین بروز رسانی در : 2023/12/11

شما با REST API می توانید سایت وردپرسی خود را به سرویس ها و برنامه های شخص ثالث دیگری متصل کنید . برخی موارد این ابزار و اتصال ممکن است وب سایت شما را در برابر حملات هکرها آسیب پذیر کند . بنابراین ممکن است شما هم دنبال راهی برای غیرفعال کردن REST API در وردپرس باشید.

غیرفعال کردن REST API در وردپرس ساده تر از چیزی است که فکر می کنید . شما به سادگی و با استفاده از یکی از دو روش که در ادامه معرفی می کنیم می توانید از سایت خود در برابر حملات Brute force کمک کنید .

REST API در وردپرس چیست؟

WordPress REST API ابزاری است که توسعه دهندگان و برنامه نویسان را قادر می سازد سایت وردپرسی را در برنامه های وب شخص ثالث ادغام کنند. آنها می توانند این کار را از راه دور و بدون نیاز به ورود به وب سایت انجام دهند.

برای درک بهتر این موضوع و نحوه کارکرد آن، اجازه دهید به دو جزء اصلی نگاه کنیم:

  • رابط برنامه نویسی کاربردی (API) : این برنامه ای است که دو سیستم ( محیط برنامه ها ) را قادر می سازد که به وسیله آن با یکدیگر ارتباط برقرار کنند
  • نحوه تعامل و انتقال ( REST) :  این موضوع مجموعه ای از دستور العمل هایی است که توسعه دهندگان و برنامه نویسان باید هنگام ایجاد API از آنها پیروی کنند . این موارد شامل موضوعاتی مانند استفاده از داده های قابل ذخیره و فعال کردن وب سایت و سرور برای عملکرد مستقل از یکدیگر است .

بنابراین  REST API رابطی است که با در نظر گرفتن این مدل استانداردها طراحی شده است و با استفاده از API برنامه های دیگر را قادر می سازد که با توجه به دسترسی به پایگاه داده وردپرس برای دستورات مختلفی که به آن داده می شود واکنشی نشان دهد .

REST API داده های وردپرس را به عنوان اشیاء JSON که مخفف JavaScript Object Notation است ارسال و دریافت می کند . این بدان معنا می باشد که توسعه دهندگان فرانت اند نیز بدون نیاز به دانش برنامه نویسی PHP می توانند با ارسال برخی دستورات اطلاعات مختلف را از وردپرس شما بدست آورند .

چرا باید WordPress REST API را غیرفعال کنیم ؟

REST API در وردپرس طوری تعبیه شده است که به راحتی قابل دسترس می باشد. از یک طرف هم می تواند برای سایت شما مفید باشد و از طرف دیگر سایت شما رانیز مستعد حملات هکرها می کند .

به عنوان مثال هکرها ممکن است بتوانند از طریق REST API به داده های شما دسترسی داشته باشند . به طور پیش فرض هکرها میتوانند به نام کاربری دسترسی داشته باشند و از طریق آن حملات brute-force انجام دهند ، به طوری که با داشتن نام کاربری و ترکیب رمز های مختلف به پنل سایت کاربر دسترسی داشته باشند.

REST API همچنین می تواند سایت شما را در برابر حملات  Distributed Denial-of-Service ( DDOS ) آسیب پذیر کند . به طوری که عوامل مخرب سعی می کنند سایت شما را با غلبه بر ترافیک جعلی از دسترس خارج کنند.

حتی اگر اقدامات امنیتی مختلفی راهم برای ایمن نگه داشتن سایت خود انجام داده باشید باز هم این ابزار می تواند منابع مختلف زیادی از سایت شما را اشغال کند و سرعت سایت شما را کند کند و در نتیجه از دسترس خارج کند. پس در نتیجه اگر استفاده واقعی از آن ندارید پیشنهاد می کنیم که WordPress REST API را حتما غیرفعال کنید .

نحوه غیرفعال کردن REST API در وردپرس

اکنون بیایید با استفاده از دو روش مختلف به شما یاد دهیم که چطور WordPress REST API غیرفعال کنید . برای شروع از روش ساده تر شروع میکنیم و آن هم استفاده از پلاگین می باشد.

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

غیرفعال کردن REST API در وردپرس با استفاده از افزونه 🔌 ( پیشنهادی )

پلاگین غیرفعال کردن REST API در وردپرس
پلاگین غیرفعال کردن REST API در وردپرس

ساده ترین راه برای غیرفعال کردن WordPress REST API استفاده از افزونه Disable REST API می باشد . این افزونه پس از فعال سازی به طور خودکار این ویژگی را غیرفعال می کنید ، اما شما می توانید با توجه به تنظیماتی که در اختیارتان قرار می دهد برخی از نقاط پایانی EndPoint دسترسی داشته باشید و به کاربران خاصی در سایت اجازه دهید از REST API استفاده کنید.

توجه داشته باشید که این افزونه مدت زیادی است که به روز نشده است اما با این حال به راحتی می توانید REST API وردپرس را غیرفعال کنید اما در صورتی که خواستید از یک افزونه بروز تر استفاده کنید می توانید از افزونه Disable WP REST API استفاده کنید.

هنگامی که بروی فعال سازی افزونه کلیک کردید ، REST API به طور خودکار برای کاربران عمومی سایت شما غیر قابل دسترسی خواهد بود . اما اگر می خواهید فقط کاربران برخی نقاط پایانی (End Point) خاصی اجازه دسترسی داشته باشید می توانید به منوی ” تنظیمات > Disable REST API ” بروید تا با تنظیماتی به شکل زیر رو برو شوید :

 

تنظیمات پلاگین غیرفعال کردن REST API
تنظیمات پلاگین غیرفعال کردن REST API

در این صفحه از بخش Rules for می توانید نقش کاربری که نیاز دارید به REST API دسترسی داشته باشد انتخاب کرده و سپس می توانید با انتخاب گزینه ” Allow Full REST API Access ” و سپس دکمه ذخیره تغییرات مشخص کنید که این نقش کاربری به همه تنظیمات REST API دسترسی داشته باشد . همچنین اگر میخواهید این نقش کاربری به برخی End Point ها دسترسی داشته باشد می توانید گزینه ” Manage REST API Access ” را انتخاب کنید تا برای شما لیست کاملی که دسترسی های REST API را نمایش دهد و شما با فعال و غیرفعال کردن این بخش ها مشخص کنید که این نقش کاربری چه سطح دسترسی به REST API دارد .

غیرفعال کردن REST API در وردپرس با استفاده از کد 💾

در این روش ما با افزودن یک قطعه کد ساده WordPress REST API خود را غیرفعال می کنیم. ما در مقاله ای تحت عنوان ” 3 روش برای اضافه کردن کد آماده به وردپرس” به طور کامل توضیح داده ایم که چطور قطعه کد مختلف را به پروژه خود اضافه کنیم . در این بخش ما از روش استفاده از افزونه ” Code Snippets ” استفاده می کنیم.

بعد از نصب و فعال سازی این افزونه وارد منوی Snippets < Add New شوید . در بخش عنوان می توانید عنوان ” Disable REST API ” را وارد کنید و در بخش Code حتما دقت کنید که بروی تب Functions قرار گرفته باشد تکه کد زیر را وارد می کنید :

add_filter( 'rest_authentication_errors', 'disable_rest_api' );
add_filter( 'rest_authentication_errors', 'disable_rest_api' );
function disable_rest_api( $access ) {
    return new WP_Error( 
        'rest_disabled',
        __('The WordPress REST API has been disabled.'),
        array( 
            'status' => rest_authorization_required_code()
        ) 
    );
}

 

بنابراین نتیجه ای به شکل زیر باید داشته باشید .

اضافه کردن تکه کد برای غیرفعال سازی WordPress REST API
اضافه کردن تکه کد برای غیرفعال سازی WordPress REST API

مطمئن شوید که حتما گزینه Run snippet everywhere انتخاب شده باشد . سپس در قسمت پایین بروی Save Changes and Activate کلیک کنید . با این کار غیرفعال کردن REST API در وردپرس انجام می شود .

نتیجه گیری 🧐

همانطور که در اول این مطلب اشاره کردیم WordPress REST API شما را قادر می سازد تا سایت خود را با برنامه های شخص ثالث متصل کنید. با این حال، این ویژگی همچنین می تواند سایت شما را در برابر حملات brute-force و سایر تهدیدات امنیتی آسیب پذیر کند. بنابراین، اگر به آن نیاز ندارید، حتما و برای امنیت بیشتر وب سایت خود آن را غیرفعال کنید.

آیا در مورد نحوه غیرفعال کردن REST API سؤالی دارید؟ در بخش نظرات همین مطلب برای ما بنویسید تا در سریعترین زمان پاسخگوی آن باشیم.

4/5 - (4 امتیاز)
مهدی طیبی

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

نظرات کاربران

  • avatar میثم ساجدی
    2024/08/05

    مطلب بسیار عالی و مفیدی بود. توضیحات جامع و کامل. بهترین و جامع ترین توضیحی بود که تو سایت های فارسی زبان دیدم. همینطور پرقدرت ادامه بدین.

    • avatar مهدی طیبی
      2024/10/04

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