كيفية تعطيل WordPress REST API (طريقتان)

باستخدام REST API، يمكنك ربط موقع WordPress الخاص بك بخدمات وتطبيقات الطرف الثالث. ولسوء الحظ، فإن هذا الاتصال يمكن أن يجعل موقعك عرضة للهجمات. لذلك، ربما كنت تبحث عن طريقة لتعطيل WordPress REST API.
العملية أسهل مما تظن. يمكنك ببساطة استخدام مكون إضافي لتعطيله أو إضافة جزء من التعليمات البرمجية إلى موقعك. سيساعد هذا في حماية موقعك من الجرائم الإلكترونية الشائعة، مثل هجمات القوة الغاشمة.
ما هي واجهة برمجة تطبيقات REST؟
تعد WordPress REST API أداة تمكن المطورين من دمج WordPress في تطبيقات الويب التابعة لجهات خارجية. ويمكنهم القيام بذلك عن بعد، دون الحاجة إلى تسجيل الدخول إلى الموقع.
للحصول على فهم أفضل لكيفية عمله، دعونا نلقي نظرة على مكونيه الرئيسيين:
- واجهة برمجة التطبيقات (API). هذا برنامج يتيح لتطبيقين التواصل مع بعضهما البعض.
- نقل الحالة التمثيلية (REST). هذه مجموعة من الإرشادات التي يجب على المطورين اتباعها عند إنشاء واجهات برمجة التطبيقات. يتضمن ذلك أشياء مثل استخدام البيانات القابلة للتخزين المؤقت وتمكين موقع الويب والخادم من العمل بشكل مستقل عن بعضهما البعض.
ولذلك، فإن REST API هي واجهة تم تصميمها مع وضع هذه المعايير في الاعتبار. باستخدام واجهة برمجة التطبيقات هذه، تستطيع التطبيقات الأخرى الوصول إلى قاعدة بيانات WordPress لجلب البيانات.
في الواقع، تستخدم العديد من مكونات WordPress الإضافية واجهة برمجة تطبيقات WordPress REST لتعمل بشكل صحيح.
تقوم REST API بإرسال واستقبال البيانات ككائنات JSON (JavaScript Object Notation).
وهذا يعني أن مطوري الواجهة الأمامية الذين ليس لديهم معرفة بلغة PHP (وهي لغة البرمجة التي بني عليها WordPress) ما زالوا قادرين على العمل على نظام إدارة المحتوى.
لماذا قد ترغب في تعطيل WordPress REST API
تأتي REST API مدمجة في WordPress وهي متاحة بسهولة. على الرغم من أنه يمكن أن يكون مفيدًا جدًا، إلا أنه يجعل موقعك أيضًا عرضة للهجمات.
على سبيل المثال، قد يتمكن المتسللون من الوصول إلى بياناتك من خلال REST API. افتراضيًا، تجعل الواجهة أسماء المستخدمين قابلة للعرض بشكل عام، مما قد يؤدي إلى هجمات القوة الغاشمة. يحدث هذا عندما يحاول المتسللون الوصول إلى موقعك باستخدام مجموعات مختلفة من كلمات المرور وأسماء المستخدمين.
يمكن لـ REST API أيضًا أن تجعل موقعك عرضة لهجمات رفض الخدمة الموزعة (DDOS). يحدث هذا عندما تحاول جهات فاعلة ضارة جعل موقعك غير متاح عن طريق إغراقه بحركة مرور مزيفة.
حتى إذا كنت تتخذ الاحتياطات اللازمة للحفاظ على أمان موقعك، فقد تكون هذه الأداة كثيفة الاستخدام للموارد وتؤدي إلى إبطاء موقعك. لذلك، إذا لم يكن لديك أي استخدام حقيقي له، فقد ترغب في تعطيل WordPress REST API.
كيفية تعطيل REST API في WordPress (طريقتان)
الآن، دعونا نلقي نظرة على طريقتين رئيسيتين لتعطيل WordPress REST API، بدءًا من الخيار الأسهل.
قبل المتابعة، قد ترغب في عمل نسخة احتياطية لموقعك. بهذه الطريقة، إذا قمت بتعطيل موقعك عن طريق الخطأ عند تعطيل REST API، فيمكنك بسهولة استعادة نسخة. وبدلاً من ذلك، يمكنك تجربة ذلك على موقع مرحلي أولاً، ثم نشر تغييراتك مباشرةً.
- باستخدام البرنامج المساعد
- باستخدام مقتطف التعليمات البرمجية
1. استخدام البرنامج المساعد
أسهل طريقة لتعطيل WordPress REST API هي باستخدام مكون إضافي مثل Disable REST API. ستقوم هذه الأداة بتعطيل هذه الميزة تلقائيًا عند التنشيط.
ومع ذلك، فهو يمكّنك أيضًا من منح الوصول إلى بعض نقاط النهاية والسماح لمستخدمين محددين على موقعك باستخدام REST API.
لاحظ أنه لم يتم تحديث هذا المكون الإضافي منذ فترة طويلة وقد يتسبب في حدوث مشكلات في التوافق مع المكونات الإضافية الأخرى على موقعك. لذلك، ستحتاج إلى اختباره على موقع التدريج الخاص بك أولاً.
يمكنك المضي قدمًا وتثبيت البرنامج الإضافي على موقعك. بمجرد الضغط على “تنشيط”، لن يتمكن المستخدمون العامون على موقعك من الوصول إلى REST API تلقائيًا.
إذا كنت تريد السماح بالوصول لمستخدمين محددين أو نقاط نهاية معينة فقط، فيمكنك الانتقال إلى الإعدادات > تعطيل REST API:

من القائمة المنسدلة، يمكنك تحديد دور المستخدم الذي سيكون له حق الوصول إلى REST API. بعد ذلك، يمكنك اختيار إما منحهم حق الوصول الكامل أو السماح لهم بالوصول إلى نقاط نهاية معينة فقط:

إذا قمت بتحديد إدارة الوصول إلى REST API، فستحصل على قائمة بجميع نقاط النهاية على موقعك:

باستخدام مفتاح التبديل، يمكنك تحديد نقاط النهاية التي سيتمكن المستخدم من الوصول إليها. عندما تكون مستعدًا، انقر فوق “حفظ التغييرات”.
2. استخدام مقتطف الكود
يمكنك أيضًا تعطيل WordPress REST API عن طريق إضافة الكود للقيام بذلك يدويًا إلى موقعك.
على الرغم من أن هذا قد يبدو صعبًا بعض الشيء، إلا أنه في الواقع عملية واضحة، خاصة إذا كنت تستخدم مكونًا إضافيًا مثل Code Snippets لإدراج الكود.
إذا كان لديك هذا المكون الإضافي بالفعل على موقعك، فمن المنطقي استخدام نفس الأداة لتعطيل REST API، بدلاً من تثبيت مكون إضافي آخر.
يمكنك أيضًا اختيار هذا البرنامج الإضافي إذا كنت تريد المزيد من التحكم في الكود الذي تضيفه إلى موقعك.
بمجرد إعداد مقتطفات التعليمات البرمجية على موقعك، انتقل إلى المقتطفات > إضافة جديد:

قم بتسمية المقتطف “Disable REST API” وألصق الكود التالي في المربع المقدم:add_filter( ‘rest_authentication_errors’, ‘disable_rest_api’) ; وظيفة Disable_rest_api( $access ) { return new WP_Error( ‘rest_disabled’, __(‘تم تعطيل WordPress REST API.’) , array( ‘status’ => Rest_authorization_required_code())); }
إذن، إليك ما ستبدو عليه النتيجة:

تأكد من تحديد تشغيل المقتطف في كل مكان. ثم قم بالتمرير لأسفل إلى الأسفل وانقر فوق “حفظ التغييرات” و”التنشيط”. سيؤدي هذا إلى تعطيل WordPress REST API على موقعك.
المصدر: themeisle
شاهد المزيد: