با استفاده از REST API، میتوانید وبسایت وردپرس خود را به سرویسها و برنامههای شخص ثالث متصل کنید. متأسفانه، این اتصال میتواند سایت شما را در معرض حملات قرار دهد. بنابراین، شما ممکن است به دنبال راهی برای غیرفعال سازی این رابط برنامهنویسی REST API باشید.
این فرآیند آسانتر از آنچه شما فکر میکنید است. شما میتوانید به سادگی از یک افزونه برای غیرفعال سازی آن استفاده کنید یا یک قطعه کد به سایت خود اضافه کنید. این کار به شما کمک میکند تا سایت خود را در برابر جرمهای سایبری معمولی مانند حملات نیروی خام محافظت کنید.
REST API چیست؟
WordPress REST API ابزاری است که توسعه دهندگان را قادر می سازد وردپرس را در برنامه های وب شخص ثالث ادغام کنند. آنها می توانند این کار را از راه دور و بدون نیاز به ورود به وب سایت انجام دهند.
(REST) مجموعهای از دستورالعملهاست که توسعهدهندگان باید آنها را در هنگام ایجاد رابطهای برنامهنویسی کاربردی (API) دنبال کنند. این شامل استفاده از دادههای قابل حافظهسازی و فعالسازی وبسایت و سرور بدون نیاز به همدیگر است. این کلمه اختصاری برای representational state transfer است. یکی از مفاهیم اصلی که باید در ارتباط با REST بدانید این است که REST یک پروتکل یا استاندارد نیست، و تنها یک راهحل و یا یک سبک معماری برای نوشتن APIها است.
بنابراین، یک REST API یک رابط است که با رعایت به این استانداردها طراحی شده است. با استفاده از این رابط برنامههای دیگر میتوانند به پایگاه داده وردپرس دسترسی پیدا کنند تا اطلاعات را دریافت کنند. در واقع، بسیاری از افزونه های وردپرس از REST API وردپرس برای عملکرد صحیح استفاده می کنند.
REST API دادهها را به صورت شی JSON (JavaScript Object Notation) میفرستد و دریافت میکند. بطوری که توسعهدهندگان فرانت اند بدون دانش PHP (که زبان برنامهنویسی پایه وردپرس است) میتوانند در سیستم مدیریت محتوا کار کنند.
چرا ممکن است بخواهید REST API وردپرس را غیرفعال کنید
REST API به طور پیشفرض در وردپرس وجود دارد و به سادگی در دسترس است. اگرچه میتواند بسیار مفید باشد، اما سایت شما را در معرض حملات قرار میدهد.
به عنوان مثال، هکرها ممکن است بتوانند از طریق REST API به داده های شما دسترسی داشته باشند. بهطور پیشفرض، رابط کاربری نامهای کاربری را برای عموم قابل مشاهده میکند، که میتواند منجر به حملات brute-force شود. و در این زمان است که هکرها سعی می کنند با استفاده از ترکیب های مختلف رمز عبور و نام کاربری به سایت شما دسترسی پیدا کنند.
REST API همچنین سایت شما را در برابر حملات تکراری از نوع DDOS آسیبپذیر میکند. بطوری که عوامل مخرب سعی می کنند سایت شما را با غلبه بر ترافیک جعلی از دسترس خارج کنند.
حتی اگر شما تحت اقدامات لازم برای ایمن نگهداشتن سایت خود باشید، این ابزار ممکن است منابع سنگینی را مصرف کند و سرعت سایت شما را کاهش دهد. بنابراین، اگر کاربرد واقعی برای آن ندارید، ممکن است بخواهید REST API وردپرس را غیرفعال کنید.
چگونه REST API در وردپرس را غیرفعال کنیم (2 روش)
حال بیایید به دو روش اصلی برای غیرفعال کردن REST API وردپرس نگاهی بیندازیم، با آسانترین گزینه شروع میکنیم.
قبل از ادامه دادن، پیشنهاد میشود یک نسخه پشتیبان از سایت خود تهیه نمایید. به این ترتیب، اگر به طور تصادفی سایت شما در هنگام غیرفعال کردن REST API دچار اختلال شد، می توانید به راحتی یک نسخه را بازیابی کنید.
استفاده از افزونه
آسانترین راه برای غیرفعال کردن REST API وردپرس با استفاده از افزونهای مانند "Disable REST API" است. این افزونه با فعالسازی به طور خودکار این قابلیت را غیرفعال میکند. با این حال، شما را قادر می سازد تا به برخی از نقاط پایانی دسترسی داشته باشید و به کاربران خاصی در سایت شما اجازه دهید از REST API استفاده کنند.
منظور از نقطه پایانی API یک مکان خاص در یک API است که درخواست ها را می پذیرد و پاسخ ها را ارسال می کند.
توجه داشته باشید که این افزونه مدت طولانی بروزرسانی نشده است و ممکن است با سایر افزونهها در سایت شما سازگاری نداشته باشد. بنابراین، قبل از همه چیز آن را در سایت خود تست کنید.
می توانید این افزونه را در سایت خود نصب کنید. هنگامی که فعال کنید، REST API به طور خودکار برای کاربران عمومی در سایت شما قابل دسترسی نخواهد بود. همچنین توجه داشته باشید این افزونه در زمان این آموزش نسخه فارسی را پشتیبانی نمیکند.
اگر می خواهید به کاربران یا نقاط پایانی خاص دسترسی دهید، می توانید به Settings > Disable REST API بروید:
از منوی کشویی، نقش کاربری که به REST API دسترسی داشته باشد را انتخاب کنید. سپس می توانید انتخاب کنید که آیا به آنها دسترسی کامل بدهید یا فقط به برخی از نقاط پایانی اجازه دسترسی دهید:
اگر گزینه مدیریت دسترسی REST API را انتخاب کنید، لیستی از تمام نقاط پایانی موجود در سایت شما دریافت خواهید کرد:
با استفاده از سوئیچ تعمیر و نگهداری، می توانید نقاط پایانی را که کاربر به آنها دسترسی دارد انتخاب کنید. وقتی تنظیمات را انجام دادید، روی ذخیره تغییرات کلیک کنید.
استفاده از قطعه کد
همچنین می توانید REST API وردپرس را با اضافه کردن کدی به صورت دستی به سایت خود غیرفعال کنید. اگرچه ممکن است به نظر برسد که کمی دشوار است، اما در واقع یک فرایند ساده است، به ویژه اگر از افزونهای مانند "Code Snippets" برای درج کد استفاده کنید.
اگر این افزونه را در سایت خود دارید، منطقی تر است از همان ابزار برای غیرفعال کردن REST API استفاده کنید، به جای نصب یک افزونه دیگر. همچنین، اگر می خواهید کنترل بیشتری بر روی کدی که به سایت خود اضافه می کنید داشته باشید، می توانید از این افزونه استفاده کنید. همچنین توجه داشته باشید این افزونه در زمان این آموزش نسخه فارسی را پشتیبانی نمیکند.
با تنظیم Code Snippets بر روی سایت خود، به Snippets > Add New بروید.
به قطعه کد "غیرفعال کردن 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())); }
بنابراین، این تغییر به این صورت خواهد بود:
مطمئن شوید که Run snippet everywhere را انتخاب کنید. سپس به پایین اسکرول کنید و روی Save Changes and Activate کلیک کنید. با این کار WordPress REST API در سایت شما غیرفعال می شود.
در این آموزش توضیح دادیم که Rest API چیست و چگونه میتوان آن را غیر فعال کرد. امیدواریم این مقاله آموزشی برای شما مفید بوده باشد، برای دیدن باقی آموزش ها میتوانید وارد منوی پشتیبانی بخش آموزش ها شوید، در صورتی که درباره این آموزش به مشکل یا سوالی برخورد کردید، میتوانید آن را در بخش دیدگاه بیان کنید.