[{"data":1,"prerenderedAt":211},["ShallowReactive",2],{"seo-verification":3,"blog-ووردبريس-7-1-4-حدث-مواقع-عملائك-وأغلق-wp-content-upgrade-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-ووردبريس-7-1-4-حدث-مواقع-عملائك-وأغلق-wp-content-upgrade-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":158,"ctaBody":159,"ctaButton":160,"ctaUrl":161,"relatedPosts":162},550,"ووردبريس-7-1-4-حدث-مواقع-عملائك-وأغلق-wp-content-upgrade",{"fr":12,"en":13,"ar":10,"es":14},"wordpress-7-1-4-mise-a-jour-securite-wp-content-upgrade","wordpress-7-1-4-update-your-fleet-and-close-wp-content-upgrade","wordpress-7-1-4-actualizacion-seguridad-wp-content-upgrade","ووردبريس ‎7.1.4: حدّث مواقع عملائك وأغلق wp-content\u002Fupgrade\u002F","يصحح ووردبريس ‎7.1.4 اثنتين وعشرين ثغرة منها سباق حرج أثناء التحديث. جرد بـ WP-CLI وجدول الفروع وقواعد nginx وApache للوكالات.",7,0,false,"2026-10-31T00:00:00+00:00","2026-10-31T19:07:30+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fwordpress-7-1-4-mise-a-jour-securite-wp-content-upgrade-poster.svg",{"categorySlug":34,"appSlug":35},"أنظمة-إدارة-المحتوى-والمواقع","wordpress","في 28 أكتوبر 2026 أصدر ووردبريس الإصدار ‎7.1.4، وهو إصدار أمني. تحصي Patchstack فيه 22 ثغرة موزعة على 17 نشرة، منها سباق حرج في عملية تحديث النواة. بالنسبة لوكالة تدير عشرات مواقع العملاء، المسألة ليست الثغرة نفسها بل الجولة: أي إصدار يعمل أين، وأي فروع تلقت إصلاحاً، وأي قاعدة على الخادم تغطي النافذة التي لا يغلقها التحديث وحده. يقدم هذا الدليل الأوامر وجدول الفروع وإعداد nginx أو Apache.",[38,41,44,46,48,50,78,112,114,116,118,145,147,156],{"type":39,"title":40},"h2","إصدار أمني وليس تحديثاً روتينياً",{"type":42,"body":43},"p","يحمل إعلان ووردبريس ‎7.1.4 الرسمي تاريخ 28 أكتوبر 2026 ويقدمه بوصفه إصداراً أمنياً: يوصي بالتحديث فوراً، والمواقع المفعّل فيها التحديث التلقائي في الخلفية تتحدث من تلقاء نفسها. بحسب Patchstack يحصي ووردبريس 22 ثغرة موزعة على 17 نشرة، مقابل 7 في الإصدار ‎7.1.3 الذي صدر قبل ثلاثة أسابيع. سبع نشرات من أصل سبع عشرة تخص واجهة Interactivity API، ومعظم البقية ثغرات XSS مخزنة تتطلب حساب مساهم على الأقل. وهناك أيضاً كشف مسودات التخصيص غير المنشورة لزائر مجهول، وضعف في عملية التحديث نفسها. لا الإعلان الرسمي ولا Patchstack يذكران أي استغلال، وهذا المقال لا يزعم أي استغلال.",{"type":39,"title":45},"سباق التحديث الحرج ولماذا لا ننتظر",{"type":42,"body":47},"قبل ‎7.1.4 كان لمجلد الاستخراج المنشأ تحت `wp-content\u002Fupgrade\u002F` اسم يمكن توقعه للحزم المرفوعة من لوحة الإدارة، وكان التنظيف يحذف كل محتواه بما فيه الملف `index.php` الذي يمنع عرض محتوى المجلد. وخلال التحديث كانت نسخة كاملة من ووردبريس تقع إذن على عنوان يمكن تخمينه وتصفحه، بما فيها `wp-admin\u002Fsetup-config.php`. لا حاجة إلى حساب ولا إلى تفاعل مستخدم، لكن على المهاجم أن يصيب نافذة من بضع ثوان. تصنف Patchstack الاستغلال بأنه صعب وغير عملي؛ ومع ذلك تعود النافذة عند كل تحديث، حتى التلقائي منها. يضيف الإصلاح 16 حرفاً عشوائياً إلى اسم المجلد، ويعيد إنشاء `index.php` دون حذفه، ويمنع نسخ `wp-config.php` خارج مجلد العمل. يبقى اعتراض الوكالة: إذا كان الاستغلال صعباً فلماذا نتحرك الآن؟ لأن تحديث النواة يأتي أولاً وكلفته أمر واحد لكل موقع، ولأن إغلاق المجلد على مستوى الخادم دفاع متعدد الطبقات. جدار حماية التطبيق في PHP لا يستطيع حمله، لأن النسخة المستخرجة تعمل بدون `mu-plugins` الخاصة بالموقع.",{"type":39,"title":49},"جرد مواقع العملاء ثم تحديث كل موقع",{"type":51,"title":52,"steps":53},"steps","ثماني خطوات بـ WP-CLI من الفحص إلى التحقق",[54,57,60,63,66,69,72,75],{"title":55,"body":56},"النسخ الاحتياطي أولاً","صدّر قاعدة بيانات كل موقع، ثم انسخ `wp-content` إن لم توجد نسخة ملفات:\n`wp db export pre-update.sql`",{"title":58,"body":59},"العثور على التثبيتات","على خادم يستضيف عدة حسابات، اعرض ملفات `wp-config.php`:\n`find \u002Fhome -name wp-config.php -not -path '*\u002Fwp-content\u002F*' 2>\u002Fdev\u002Fnull`",{"title":61,"body":62},"قراءة إصدار كل موقع","لموقع واحد، ثم لقائمة مسارات (مسار في كل سطر من `sites.txt`):\n`wp core version\nwp core check-update`\n`while read -r d; do printf '%s ' \"$d\"; wp --path=\"$d\" core version --skip-plugins --skip-themes; done \u003C sites.txt`",{"title":64,"body":65},"رصد الفروع بلا إصلاح","قارن كل إصدار بالجدول أدناه: الفرع ‎4.6 أو الأقدم بلا إصلاح ويخرج من جولة التحديث.",{"title":67,"body":68},"تحديث النواة","للانتقال إلى أحدث إصدار شغّل الأمر الأول؛ وللبقاء على الفرع المثبت وتطبيق إصلاحه فقط شغّل الثاني:\n`wp core update`\n`wp core update --minor`",{"title":70,"body":71},"تحديث قاعدة البيانات","طبّق أي ترحيلات للمخطط:\n`wp core update-db`",{"title":73,"body":74},"التحقق من النتيجة","أعد قراءة الإصدار ثم افحص سلامة ملفات النواة:\n`wp core version\nwp core verify-checksums`",{"title":76,"body":77},"التكرار على المواقع كلها","أعد تحديث الفرع على كل مسار في القائمة:\n`while read -r d; do wp --path=\"$d\" core update --minor && wp --path=\"$d\" core update-db; done \u003C sites.txt`",{"type":79,"title":80,"headers":81,"rows":85},"comparison","النسخة المصححة لكل فرع، 28 أكتوبر 2026",[82,83,84],"الفرع المثبت","النسخة المصححة","إجراء الوكالة",[86,90,94,97,100,104,108],[87,88,89],"‎7.1","‎7.1.4","حدّث؛ يتكفل بها التحديث التلقائي للنواة إن كان مفعلاً",[91,92,93],"‎7.0","‎7.0.8","تحديث ثانوي ثم خطط للانتقال إلى فرع أحدث",[95,96,93],"‎6.9","‎6.9.11",[98,99,93],"‎6.8","‎6.8.12",[101,102,103],"‎6.7, ‎6.6, ‎6.5, ‎6.4","‎6.7.11, ‎6.6.11, ‎6.5.14, ‎6.4.14","تحديث ثانوي ثم انتقال ذو أولوية إلى فرع أحدث",[105,106,107],"‎6.3 إلى ‎4.7","إصلاح لكل فرع حتى ‎4.7.39","تحديث ثانوي ثم ترحيل الموقع إلى فرع حالي",[109,110,111],"‎4.6 وما قبله","لا يوجد إصلاح","لا ترقّع: رحّل الموقع",{"type":42,"body":113},"قاعدة الوكالة تختصر في جملة: الموقع الواقع على فرع بلا إصلاح يُرحَّل ولا يُرقَّع. يذكر الإعلان الرسمي أن الإصلاحات تُنقل إلى كل الفروع المؤهلة، حالياً حتى ‎4.7، وأنها تُنشر تدريجياً؛ فتأكد من ‎wordpress.org من الرقم المتاح لكل فرع قبل أن تعد العميل بموعد. أما المسؤولية، فأنت من يتصل به العميل إذا تعطل موقع: دوّن لكل موقع الإصدار قبل العملية وبعدها ووقت التنفيذ، وأبقِ هذا السجل في متناول العميل. لجرد إصدارات PHP لنفس المواقع راجع المقال المخصص، ولثغرة سابقة في النواة راجع مقال الإصدار ‎7.1.2.",{"type":39,"title":115},"إغلاق wp-content\u002Fupgrade\u002F على مستوى الخادم",{"type":42,"body":117},"المصدر يقرر أمراً واحداً فقط: منع الوصول عبر الويب إلى `wp-content\u002Fupgrade\u002F` والتأكد من أن المجلد لا يمكن عرض محتواه؛ وبين تحديثين لا ينبغي أن يحتوي إلا على `index.php`. القواعد التالية إذن تحصين عام نقترحه نحن وليست توجيهاً من النشرة. يمر التحديث عبر نظام ملفات PHP لا عبر طلب HTTP، فلا يعيقه منع الوصول عبر الويب. هذا الحجب لا يغني عن تحديث النواة: إنه يغلق النافذة أثناء العمليات القادمة. ضع القاعدة دائماً على مستوى الموقع أو الخادم، وليس داخل المجلد نفسه الذي تتعامل معه عملية التحديث.",{"type":51,"title":119,"steps":120},"ثمانية إجراءات بحسب البيئة من الحجب إلى الإثبات",[121,124,127,130,133,136,139,142],{"title":122,"body":123},"nginx: حجب المجلد","أضف إلى كتلة `server` للموقع قبل الكتلة التي تعالج ملفات PHP؛ المعدِّل `^~` يمنع تقدم تعبير نمطي عليه:\n`location ^~ \u002Fwp-content\u002Fupgrade\u002F {\n    return 404;\n}`\nثم اختبر وأعد التحميل:\n`nginx -t && systemctl reload nginx`",{"title":125,"body":126},"nginx: قاعدة واحدة لكل المواقع","ضع القاعدة في ملف مقتطف وضمّنه في كل vhost حتى ينالها الموقع الجديد أيضاً:\n`include \u002Fetc\u002Fnginx\u002Fsnippets\u002Fwp-upgrade-deny.conf;`",{"title":128,"body":129},"Apache: كتلة Directory","في إعداد vhost مع المسار الفعلي للموقع:\n`\u003CDirectory \"\u002Fvar\u002Fwww\u002Fyour-domain.com\u002Fwp-content\u002Fupgrade\">\n    Require all denied\n\u003C\u002FDirectory>`\nثم تحقق وأعد التحميل:\n`apachectl configtest && systemctl reload apache2`",{"title":131,"body":132},"استضافة مشتركة أو cPanel: ملف ‎.htaccess","بدون وصول إلى إعداد الخادم، أضف في جذر الموقع داخل ملف `.htaccess` القائم إعادة توجيه إلى خطأ 404:\n`RedirectMatch 404 ^\u002Fwp-content\u002Fupgrade(\u002F|$)`",{"title":134,"body":135},"Docker: أين تُوضع القاعدة","تُوضع القاعدة في الحاوية التي تقدم HTTP: الوكيل العكسي nginx أو إعداد Apache في الصورة. اربطها كحجم (volume) لتبقى بعد إعادة البناء، ثم أعد تحميل الحاوية.",{"title":137,"body":138},"إثبات أن الرد 403 أو 404","اختبر المجلد وملف `index.php` من الخارج؛ يجب أن يعيد كل سطر 403 أو 404 لا 200:\n`curl -I https:\u002F\u002Fyour-domain.com\u002Fwp-content\u002Fupgrade\u002F\ncurl -I https:\u002F\u002Fyour-domain.com\u002Fwp-content\u002Fupgrade\u002Findex.php`",{"title":140,"body":141},"تغطية كل vhost","اعرض المواقع التي تفتقد القاعدة؛ يجب أن تكون القائمة فارغة بعد كل نشر:\n`grep -L -E 'wp-content\u002Fupgrade|wp-upgrade-deny' \u002Fetc\u002Fnginx\u002Fsites-enabled\u002F*`",{"title":143,"body":144},"فحص محتوى المجلد","خارج أي تحديث جارٍ، يجب ألا يظهر إلا `index.php`:\n`ls -A \u002Fvar\u002Fwww\u002Fyour-domain.com\u002Fwp-content\u002Fupgrade`",{"type":39,"title":146},"المؤلفون الخارجيون: ما الذي تغيره ثغرات XSS لدور المساهم",{"type":148,"title":149,"items":150},"ul","خمسة فحوص على حسابات موقع العميل",[151,152,153,154,155],"**اعرض الحسابات** — حدد أدوار المساهم وما فوقها:\n`wp user list --role=contributor --fields=ID,user_login,user_registered`","**أزل غير المستعمل** — احذف أو خفّض حسابات المتعاقدين السابقين والكتّاب الذين غادروا.","**لا تفتح حسابات للراحة** — الثغرة المخزنة تحتاج حساباً يكتب؛ حسابات أقل تعني سطح هجوم أصغر.","**نبّه المدراء** — تنطلق عدة ثغرات حين يفتح مدير محتوى ملغوماً أو شاشة التخصيص.","**حدّث قبل المراجعة** — طبّق ‎7.1.4 قبل إعادة فتح مسودات المساهمين الخارجيين.",{"type":42,"body":157},"الإصدار الأمني اختبار للمنهج قبل كل شيء. إن استغرق الجرد والتحديث وقاعدة الخادم صباحاً على عشرة مواقع، فسيستغرقان ثلاثة أيام على مئة. تجمع مساحة الوكالة حسابات cPanel والاستضافات وتواريخ الانتهاء في مكان واحد، لتبدأ الجولة من قائمة محدّثة لا من بحث.","مواقع عملاء تتحدث دون أن تلتهم يومك","تجدون حسابات cPanel والاستضافات وتواريخ الانتهاء في مكان واحد داخل مساحة الوكالة، وتبدؤون عند كل إصدار أمني من قائمة محدّثة.","اكتشف مساحة الوكالة","\u002Fsolutions\u002Fagences",[163,179,195],{"id":164,"slug":165,"slugs":166,"title":170,"excerpt":171,"readTime":23,"views":18,"isPinned":19,"publishedAt":172,"updatedAt":173,"category":174,"categories":175,"featuredImage":30,"bgImage":31,"posterImage":177,"relatedSolution":178},373,"ووردبريس-cve-2026-87902-ترقية-7-1-2",{"fr":167,"en":168,"ar":165,"es":169},"wordpress-cve-2026-87902-rce-mise-a-jour-7-1-2","wordpress-cve-2026-87902-update-to-712-now","wordpress-cve-2026-87902-actualiza-a-712-urgente","ووردبريس ‎CVE-2026-87902‎: الترقية إلى 7.1.2 قبل الاختراق","ثغرة ‎CVE-2026-87902‎ (CVSS 9.2) يجري استغلالها منذ 22 سبتمبر 2026. تحقق من إصدارك وطبّق التحديث لحماية مواقعك.","2026-09-24T00:00:00+00:00","2026-10-26T18:53:20+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[176],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fwordpress-cve-2026-87902-rce-mise-a-jour-7-1-2-poster.svg",{"categorySlug":34,"appSlug":35},{"id":180,"slug":181,"slugs":182,"title":186,"excerpt":187,"readTime":188,"views":18,"isPinned":19,"publishedAt":189,"updatedAt":190,"category":191,"categories":192,"featuredImage":30,"bgImage":31,"posterImage":194,"relatedSolution":30},508,"جرد-إصدارات-php-لمواقع-العملاء-منهج-للوكالات",{"fr":183,"en":184,"ar":181,"es":185},"inventaire-versions-php-parc-sites-clients-agence","php-version-inventory-for-client-sites-an-agency-method","inventario-de-versiones-php-de-sitios-cliente-metodo-de-agencia","جرد إصدارات PHP لمواقع العملاء: منهج للوكالات","سجل لإصدار PHP الذي يخدمه كل موقع عميل لدى عدة مستضيفين: مستويات الوصول، سكربتات دفعية، أولويات، رسالة للعميل وإثبات مؤرخ للتصحيح.",11,"2026-10-27T00:00:00+00:00","2026-10-27T23:58:39+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[193],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Finventaire-versions-php-parc-sites-clients-agence-poster.svg",{"id":196,"slug":197,"slugs":198,"title":202,"excerpt":203,"readTime":188,"views":204,"isPinned":19,"publishedAt":205,"updatedAt":206,"category":207,"categories":208,"featuredImage":30,"bgImage":31,"posterImage":210,"relatedSolution":30},317,"قائمة-تصليب-خادم-لينكس-للوكالات-بعد-التسليم",{"fr":199,"en":200,"ar":197,"es":201},"linux-hardening-vps-checklist","linux-vps-hardening-checklist-for-agencies","hardening-linux-vps-checklist-para-agencias-tras-la-entrega","قائمة تصليب خادم لينكس للوكالات بعد التسليم","قائمة تدقيق لتصليب لينكس قابلة للتكرار للوكالات: auditd وsudo ومفتاح SSH وUFW وfail2ban وإلغاء تفعيل root — مع إمكانية التتبع لكل عميل.",2,"2026-08-30T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[209],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Flinux-hardening-vps-checklist-poster.svg",1793480154031]