تم تطوير مواصفات XML-RPC وورد بريس لتوحيد الاتصال بين الأنظمة المختلفة ، مما يعني أن التطبيقات خارج وورد بريس (مثل منصات التدوين الأخرى وعملاء سطح المكتب) يمكن أن تتفاعل مع وورد بريس.
كانت هذه المواصفات جزءًا من وورد بريس منذ إنشائها وقد قامت بعمل مفيد للغاية. بدونها ، سيكون وورد بريس في صومعته الخاصة ، ومنفصلًا عن بقية الإنترنت.
ومع ذلك ، فإن xmlrpc.php له سلبياته. يمكنه إدخال نقاط ضعف إلى موقع وورد بريس الخاص بك وقد تم استبداله الآن بواسطة وورد بريس REST API ، والذي يقوم بعمل أفضل بكثير في فتح وورد بريس للتطبيقات الأخرى.
في هذا المنشور ، سنشرح ما هو xmlrpc.php ، ولماذا يجب عليك تعطيله ، ونساعدك على تحديد ما إذا كان يعمل على موقع وورد بريس الخاص بك.
ما هو xmlrpc.php؟
XML-RPC هو أحد المواصفات التي تتيح الاتصال بين وورد بريس والأنظمة الأخرى. لقد فعلت ذلك من خلال توحيد تلك الاتصالات ، باستخدام HTTP كآلية نقل و XML كآلية تشفير.
يسبق XML-RPC وورد بريس: كان موجودًا في برنامج التدوين b2 ، والذي تم تقسيمه لإنشاء وورد بريس مرة أخرى في عام 2003. يتم تخزين الكود الموجود خلف النظام في ملف يسمى xmlrpc.php ، في الدليل الجذر للموقع. ولا يزال موجودًا ، على الرغم من أن XML-RPC قديم إلى حد كبير.
في الإصدارات القديمة من وورد بريس ، تم إيقاف تشغيل XML-RPC افتراضيًا. ولكن منذ الإصدار 3.5 ، تم تمكينه افتراضيًا. كان السبب الرئيسي لذلك هو السماح لتطبيق وورد بريس للجوال بالتحدث إلى تثبيت وورد بريس الخاص بك .
إذا كنت تستخدم تطبيق وورد بريس للجوال قبل الإصدار 3.5 ، فقد تتذكر أنك اضطررت إلى تمكين XML-RPC على موقعك حتى يتمكن التطبيق من نشر المحتوى. كان هذا لأن التطبيق لم يكن يشغل وورد بريس نفسه ؛ بدلاً من ذلك ، كان تطبيقًا منفصلاً يتواصل مع موقع وورد بريس الخاص بك باستخدام xmlrpc.php.
ولكن لم يكن فقط تطبيق الهاتف المحمول الذي تم استخدام XML-RPC من أجله: فقد تم استخدامه أيضًا للسماح بالاتصال بين وورد بريس ومنصات التدوين الأخرى ، كما أنه مكّن من عمليات التتبع وإعادة الإرسال ، كما قام بتشغيل المكون الإضافي Jetpack الذي يربط وورد بريس المستضافة ذاتيًا موقع وورد بريس.com .
ولكن منذ أن تم دمج واجهة برمجة تطبيقات REST في نواة وورد بريس ، لم يعد ملف xmlrpc.php مستخدمًا لهذا الاتصال. بدلاً من ذلك ، يتم استخدام واجهة برمجة تطبيقات REST للتواصل مع تطبيق وورد بريس للجوال ، مع عملاء سطح المكتب ، مع منصات التدوين الأخرى ، مع وورد بريس.com (للمكوِّن الإضافي Jetpack) ومع الأنظمة والخدمات الأخرى. نطاق الأنظمة التي يمكن أن تتفاعل معها واجهة برمجة تطبيقات REST أكبر بكثير من النطاق الذي يسمح به xmlrpc.php. أيضا ، هناك الكثير من المرونة.
نظرًا لأن REST API قد حلت محل XML-RPC ، يجب عليك الآن تعطيل xmlrpc.php على موقعك. دعنا نرى لماذا.
لماذا يجب عليك تعطيل xmlrpc.php
السبب الرئيسي لتعطيل xmlrpc.php على موقع وورد بريس الخاص بك هو أنه يقدم ثغرات أمنية ويمكن أن يكون هدفًا للهجمات.
الآن بعد أن لم تعد هناك حاجة إلى XML-RPC للتواصل خارج وورد بريس ، فلا يوجد سبب لإبقائه نشطًا. لهذا السبب من الحكمة جعل موقعك أكثر أمانًا عن طريق تعطيله.
إذا كان xmlrpc.php يمثل مسؤولية أمنية ولم يعد يؤدي وظيفة ، فلماذا لم تتم إزالته من وورد بريس تمامًا؟
والسبب في ذلك هو أن إحدى الميزات الرئيسية في وورد بريس ستكون دائمًا التوافق مع الإصدارات السابقة. إذا كنت تدير موقعك جيدًا ، فستعرف أن الحفاظ على تحديث وورد بريس ، بالإضافة إلى أي مكونات إضافية أو سمات ، أمر ضروري.
ولكن سيكون هناك دائمًا مالكو مواقع الويب الذين لا يرغبون أو غير قادرين على تحديث إصدار وورد بريس الخاص بهم. إذا كانوا يشغلون إصدارًا يسبق REST API ، فسيظلون بحاجة إلى الوصول إلى xmlrpc.php.
دعونا نلقي نظرة على نقاط الضعف المحددة بمزيد من التفصيل.
هجمات DDoS عن طريق XML-RPC Pingbacks
إحدى الوظائف التي قام xmlrpc.php بتمكينها كانت pingbacks و trackbacks. هذه هي الإشعارات التي تظهر في التعليقات على موقعك عندما ترتبط مدونة أو موقع آخر بالمحتوى الخاص بك.
كانت مواصفات XML-RPC هي التي جعلت هذا الاتصال ممكنًا ، ولكن تم استبداله بواجهة برمجة تطبيقات REST (كما رأينا بالفعل).
إذا تم تمكين XML-RPC على موقعك ، فمن المحتمل أن يقوم المخترق بشن هجوم DDoS على موقعك من خلال استغلال xmlrpc.php لإرسال أعداد هائلة من عمليات pingbacks إلى موقعك في وقت قصير. قد يؤدي هذا إلى زيادة التحميل على الخادم وإيقاف تشغيل موقعك.
هجمات القوة الغاشمة عبر XML-RPC
في كل مرة يقدم xmlrpc.php طلبًا ، فإنه يرسل اسم المستخدم وكلمة المرور للمصادقة. يمثل هذا مسؤولية أمنية كبيرة وهو أمر لا تفعله REST API. في الواقع ، تستخدم واجهة برمجة تطبيقات REST بروتوكول OAuth الذي يرسل الرموز المميزة للمصادقة بدلاً من أسماء المستخدمين أو كلمات المرور.
نظرًا لأن xmlrpc.php يرسل معلومات المصادقة مع كل طلب ، يمكن للقراصنة استخدامها لمحاولة الوصول إلى موقعك الإلكتروني. قد يسمح هجوم القوة الغاشمة مثل هذا بإدراج محتوى أو حذف رمز أو إتلاف قاعدة البيانات الخاصة بك .
إذا أرسل أحد المهاجمين طلبات كافية إلى موقعك ، ولكل منها اسم مستخدم وكلمة مرور مختلفان ، فهناك احتمال أن يصلوا في النهاية إلى الاسم الصحيح ، مما يمنحهم إمكانية الوصول إلى موقعك.
لهذا السبب ، إذا كنت تقوم بتشغيل إصدار محدث من وورد بريس ، والذي يستخدم واجهة برمجة تطبيقات REST للتواصل مع الأنظمة الخارجية ، فيجب عليك تعطيل xmlrpc.php . ليست هناك حاجة إليها ويمكن أن تجعل موقعك عرضة للخطر.
معلومات
على الرغم من أن OAuth غير مدعوم أصلاً بواسطة Kinsta ، يمكن أن تطلب Enterprise والخطط أعلاه تنفيذها.
هل يعمل xmlrpc.php على موقع وورد بريس الخاص بك؟
أول شيء عليك القيام به هو تحديد ما إذا كان xmlrpc.php يعمل على موقع وورد بريس الخاص بك.
هذه ليست حالة بسيطة للتحقق مما إذا كان الملف موجودًا: إنه جزء من كل تثبيت وورد بريس وسيكون موجودًا حتى إذا تم تعطيل XML-RPC.
قم دائمًا بعمل نسخة احتياطية من موقعك قبل حذف أي شيء. في هذه الحالة ، لا تحذف ملف xmlrpc.php فقط لأنه سيؤدي إلى تعطيل موقعك.
للتحقق مما إذا كان xmlrpc.php ممكّنًا على موقعك ، استخدم خدمة التحقق من صحة وورد بريس XML-RPC . سيؤدي هذا إلى التحقق من موقعك وإخبارك إذا تم تمكين xmlrpc.php.
خدمة التحقق من صحة وورد بريس XML-RPC
خدمة التحقق من صحة وورد بريس XML-RPC
هذه هي النتيجة التي حصلت عليها عندما راجعت هذا الموقع على الخدمة.
فحص Kinsta XML-RPC
فحص Kinsta XML-RPC
يوضح هذا أنه تم تعطيل xmlrpc.php على kinsta.com . لذا ، إذا قمت بإجراء الفحص واكتشفت أن xmlrpc.php لا يزال ممكّنًا على موقعك ، فكيف يمكنك إيقاف تشغيله؟
كيفية تعطيل xmlrpc.php
هناك ثلاث طرق لتعطيل xmlrpc.php:
كيفية تعطيل xmlrpc.php باستخدام البرنامج المساعد
كيفية تعطيل xmlrpc.php بدون البرنامج المساعد
اطلب من موفر الاستضافة الخاص بك تعطيل xmlrpc.php
دعونا نلقي نظرة على كل واحد على حدة.
تريد أن تعرف كيف زدنا من حركة المرور لدينا أكثر من 1000 ٪؟
انضم إلى أكثر من 20000 آخرين ممن يتلقون رسائلنا الإخبارية الأسبوعية مع نصائح من الداخل حول وورد بريس!
إشترك الآن
كيفية تعطيل xmlrpc.php باستخدام البرنامج المساعد
تثبيت ملحق لتعطيل xmlrpc.php هو أسهل طريقة للقيام بذلك. ل تعطيل البرنامج المساعد XML-RPC سوف بتعطيلها تماما. إليك كيف تستخدمه.
نقطة البداية الخاصة بي هي موقع الويب الخاص بي ، حيث يتم تمكين xmlrpc.php. يمكنك أن ترى هذا من خلال الشيك الذي قمت به:
موقع Rachel McCollin على الويب – فحص XML-RPC
موقع Rachel McCollin على الويب – فحص XML-RPC
قم بتثبيت المكون الإضافي عبر شاشة الملحقات الخاصة بك في مسؤول وورد بريس ، وقم بتنشيطه.
لا يتعين عليك فعل أي شيء آخر: سيؤدي تنشيط المكون الإضافي إلى تعطيل XML-RPC. الآن إذا أجريت فحصًا على موقعي ، فسأحصل على نتيجة مختلفة:
موقع Rachel McCollin – فحص XML-RPC الثاني
موقع Rachel McCollin – فحص XML-RPC الثاني
بكل بساطة!
تعطيل XML-RPC Pingbacks مع البرنامج المساعد
ولكن ماذا لو كنت تريد تعطيل بعض جوانب xmlrpc.php وليس غيرها؟ ل تعطيل XML-RPC بينغبك المساعد يتيح لك تعطيل مجرد وظيفة بينغبك، وهذا يعني لا يزال لديك الوصول إلى الميزات الأخرى من XML-RPC إذا كنت في حاجة إليها.
يعمل المكون الإضافي بنفس طريقة عمل المكون الإضافي Disable XML-RPC: فقط قم بتثبيته وتنشيطه وسيعمل.
تكوين تنشيط XML-RPC و REST API مع البرنامج المساعد
إذا كنت تريد المزيد من التحكم الدقيق في كيفية تكوين كل من xmlrpc.php وواجهة برمجة تطبيقات REST على موقعك ، فيمكنك تثبيت المكون الإضافي REST XML-RPC Data Checker .
بمجرد تثبيت هذا المكون الإضافي وتنشيطه ، انتقل إلى الإعدادات> REST XML-RPC Data Checker وانقر فوق علامة التبويب XML-RPC .
مدقق بيانات REST XML-RPC
مدقق بيانات REST XML-RPC
يتيح لك هذا تكوين جوانب xmlrpc.php النشطة على موقعك بالضبط.
هل تحتاج إلى استضافة سريعة وآمنة وصديقة للمطورين؟ تم تصميم Kinsta مع وضع مطوري وورد بريس في الاعتبار ويوفر الكثير من الأدوات ولوحة تحكم قوية. تحقق من خططنا
بدلاً من ذلك ، يمكنك ببساطة إيقاف تشغيله تمامًا. وإذا كنت تريد أيضًا التحكم في REST API ، فإن المكون الإضافي يمنحك علامة تبويب أخرى لذلك.
كيفية تعطيل xmlrpc.php بدون البرنامج المساعد
إذا كنت تفضل عدم تثبيت مكون إضافي آخر على موقعك ، فيمكنك تعطيل xmlrpc.php عن طريق إضافة بعض التعليمات البرمجية في مرشح أو إلى ملف htaccess . لنلق نظرة على كلا الطريقتين.
قم بتعطيل xmlrpc.php عبر عامل التصفية
خيار هنا هو استخدام xmlrpc_enabled مرشح لتعطيل xmlrpc.php. أضف هذه الوظيفة إلى مكون إضافي وقم بتنشيطها على موقعك:
add_filter( 'xmlrpc_enabled', '__return_false' );
يمكنك إضافة هذا إلى ملف وظائف القالب الخاص بك ولكن من الأفضل كتابة مكون إضافي.
يتعلق الخيار الآخر بتحرير ملف htaccess الخاص بك ، والذي يتوفر مع مزودي الاستضافة الذين يستخدمون Apache ، عن طريق الاتصال بخادم موقعك عبر FTP أو cPanel .
معلومات
يستخدم Kinsta خادم الويب Nginx ، مما يعني أنه لن يكون لديك ملف htaccess. بدلاً من ذلك ، يمكنك الاستفادة من الأدوات الموجودة في لوحة المعلومات التي يمكنها تكرار الكثير من وظائف .htaccess المهمة بطريقة أكثر سهولة عبر لوحة معلومات MyKinsta .
قم بتعطيل xmlrpc.php عبر ملف htacess
في ملف htaccess الخاص بك ، أضف هذا الرمز:
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
تأكد من عمل نسخة من الملف القديم قبل القيام بذلك ، في حالة مواجهة أية مشكلات.
اطلب من موفر الاستضافة الخاص بك تعطيل xmlrpc.php
بدلاً من ذلك ، يقوم بعض مزودي الاستضافة بتعطيل xmlrpc.php إذا تم اكتشاف هجوم.
في Kinsta ، عند اكتشاف هجوم عبر XML-RPC ، تتم إضافة مقتطف من التعليمات البرمجية تلقائيًا إلى ملف Nginx.config:
location ~* ^/xmlrpc.php$ {
return 403;
}
سيؤدي هذا إلى حدوث خطأ 403 وإيقاف الهجوم في مساراته.
إذا كنت تفعل هذا بنفسك ، فمن الأفضل استخدام إحدى الطرق المذكورة أعلاه. ولكن قبل القيام بذلك ، تحقق دائمًا من مزود الاستضافة أولاً.
متى تحتاج إلى تمكين xmlrpc.php؟
قد تكون هناك بعض المناسبات التي تحتاج فيها إلى تمكين xmlrpc.php على موقع وورد بريس الخاص بك أو عندما لا يجب عليك تعطيله تمامًا.
وهذه هي:
أنت لا تقوم بتشغيل واجهة برمجة تطبيقات REST (لا يُنصح بذلك ، ولكنها ضرورية في بعض المواقف) ولكنك تحتاج إلى التواصل بين موقع وورد بريس الخاص بك والأنظمة الأخرى.
لا يمكنك تحديث وورد بريس إلى الإصدار 4.4 أو أعلى ، لذلك لا يمكنك الوصول إلى REST API. قد يكون هذا بسبب القيود في إعداد الاستضافة (في هذه الحالة سأغير مزود الاستضافة ) أو عدم توافق السمة أو المكونات الإضافية (في هذه الحالة سأستبدلها أو أقوم بتحديثها).
أنت تعمل مع تطبيق خارجي لا يمكنه الوصول إلى WP REST API ولكن يمكنه الوصول إلى XML-RPC (على المدى الطويل ، أنصح بتحديث هذا التطبيق أو التبديل إلى تطبيق متوافق مع REST).
هذا كل شيء! لا تعتبر أي من هذه الأسباب وجيهة بشكل خاص للاحتفاظ بمواصفات XML-RPC قيد التشغيل.
السبب الوحيد الذي يجعله لا يزال في وورد بريس هو التوافق مع الإصدارات السابقة ولا تستخدمه إلا إذا كنت تعمل مع أنظمة قديمة. بالنسبة لأي شخص يرغب في تحديث مواقعه باستمرار والعمل بأحدث التقنيات ، فإن تعطيل xmlrpc.php هو السبيل للذهاب.
كان XML-RPC في يوم من الأيام جزءًا أساسيًا من وورد بريس. الآن يمثل خطرًا أمنيًا 🔒 – سيوضح لك هذا الدليل بالضبط كيفية تعطيله على موقعك 🚨.
انقر للتغريد
ملخص
تم تطوير مواصفات XML-RPC قبل إنشاء وورد بريس ، كوسيلة لـ وورد بريس للتواصل مع الأنظمة والتطبيقات الخارجية. إنه يحتوي على عيوب أمنية متأصلة ويمكن أن يجعل موقعك عرضة للهجوم.
الآن بعد أن سمحت واجهة برمجة تطبيقات REST لموقعك بالاتصال بالتطبيقات الأخرى ، يمكنك تعطيل xmlrpc.php بأمان. إذا اتبعت الخطوات المذكورة أعلاه ، فإن تعطيلها سيؤدي إلى تحسين أمان موقعك.
وفر الوقت والتكاليف وحقق أقصى قدر من أداء الموقع من خلال:
مساعدة فورية من خبراء استضافة وورد بريس ، 24/7.
تكامل Cloudflare Enterprise.
يصل الجمهور العالمي إلى 28 مركز بيانات حول العالم.
التحسين من خلال مراقبة أداء التطبيقات المضمنة لدينا.

