ثغرة حقن المحتوى في إضافة Bookly//نشرت في 2026-04-09//CVE-2026-2519

فريق أمان جدار الحماية WP

Bookly CVE-2026-2519 Vulnerability

اسم البرنامج الإضافي بوكلي
نوع الضعف حقن المحتوى
رقم CVE CVE-2026-2519
الاستعجال قليل
تاريخ نشر CVE 2026-04-09
رابط المصدر CVE-2026-2519

عاجل: Bookly <= 27.0 — التلاعب بأسعار ‘نصائح’ غير مصادق عليه وحقن المحتوى (CVE-2026-2519) — ما يجب على مالكي مواقع ووردبريس فعله الآن

مؤلف: فريق أمان جدار الحماية WP
تاريخ: 2026-04-10
العلامات: ووردبريس، الأمن، Bookly، WAF، CVE-2026-2519

ملخص: تم نشر إشعار عام (CVE-2026-2519) لملحق Bookly يخبر مالكي المواقع أن الإصدارات حتى 27.0 بما في ذلك معرضة لمشكلة التلاعب بالأسعار وحقن المحتوى غير المصادق عليه عبر معلمة “نصائح”. يشرح هذا المنشور ما هي الثغرة، من هو المعرض للخطر، كيف يمكن للمهاجمين استغلالها، والأهم من ذلك، ما يجب عليك فعله الآن — بما في ذلك خطوات التخفيف العملية التي يمكنك تنفيذها اليوم مع WP-Firewall.

TL;DR — الحقائق الرئيسية

  • ثغرة تؤثر على إصدارات ملحق Bookly <= 27.0 (CVE-2026-2519) تسمح للمستخدمين غير المصادق عليهم بالتلاعب بالسعر عبر نصائح المعلمة وحقن المحتوى في الصفحات.
  • المشكلة لها درجة CVSS-style في الإشعار العام حوالي 5.3 وتصنف كخطر حقن المحتوى / فئة الحقن.
  • تم إصدار تصحيح في Bookly 27.1. التحديث إلى 27.1 (أو لاحقًا) هو الإصلاح الأساسي.
  • إذا لم تتمكن من التحديث على الفور، تشمل التخفيفات القوية: قواعد WAF الفورية التي تمنع أو تنظف نصائح المعلمة، تحديد معدل النقاط الضعيفة، تعطيل أو إخفاء واجهة المستخدم الخاصة بالنصائح، والتحقق الصارم من جانب الخادم لفرض القيم الرقمية فقط.
  • يمكن لـ WP-Firewall نشر تصحيح افتراضي لحماية موقعك على الفور حتى قبل تحديث الملحق.

لماذا هذا مهم — بخلاف الدرجة

للوهلة الأولى، قد يتم تصنيف هذا على أنه “منخفض” أو “متوسط” الشدة في بعض أنظمة التقييم. لكن لا تدع الدرجة الرقمية تخدعك إلى عدم اتخاذ أي إجراء. وضعي الفشل الرئيسيان هنا هما:

  1. التلاعب بالأسعار: يمكن للمهاجمين العبث بإجمالي الحجوزات، مما قد يتسبب في خسائر مالية أو يسمح بالحجوزات المجانية. إذا كانت منطق الخروج يعتمد على بيانات مقدمة من العميل دون إعادة حساب موثوقة من جانب الخادم، يمكن للمهاجم انتحال كميات.
  2. حقن المحتوى: يمكن للمهاجم حقن محتوى عشوائي (HTML، نصوص، أو صفحات تصيد) في تأكيدات الحجوزات، الصفحات، أو المحتوى المخزن. قد يؤدي ذلك إلى سرقة بيانات الاعتماد، تصيد العملاء، وتضرر السمعة — قابل للاستغلال على نطاق واسع.

لأن أنظمة الحجز موجودة في العديد من مواقع الأعمال الصغيرة والمتوسطة (صالونات، عيادات، مستشارين)، يمكن للمهاجمين المسح الجماعي واستغلالها تلقائيًا، مما يضرب العديد من المواقع بسرعة.


كيف تبدو الثغرة (على مستوى عالٍ)

وفقًا للإشعار العام (CVE-2026-2519)، فإن تعامل ملحق Bookly مع نصائح يسمح المعامل للمستخدمين غير المصرح لهم بإرسال قيم معدلة:

  • يتم قبولها من قبل عملية الحجز دون تحقق كافٍ من جانب الخادم.
  • يمكن استخدامها لتغيير إجمالي الحجز الفعلي (على سبيل المثال، لجعل السعر صفرًا أو تقليله).
  • قد يتم تطهيرها أو الهروب منها بشكل غير صحيح مما يسمح بحقن HTML أو سكربت في الاستجابات/الصفحات.

الأسباب الشائعة لهذا النوع من المشكلة:

  • الحسابات من جانب العميل المستخدمة لحساب الإجماليات دون إعادة حساب من جانب الخادم.
  • المدخلات التي يتم تخزينها أو إعادتها لاحقًا دون تطهير مناسب (على سبيل المثال، استخدام مخرجات مطهرة خام فقط عند العرض ولكن ليس عند الإدخال).
  • نقاط نهاية AJAX يمكن استدعاؤها من قبل مستخدمين غير مصرح لهم والتي تقبل المعاملات وتكتب البيانات أو تعيد أجزاء HTML.

من هو المعرض للخطر؟

  • المواقع التي تستخدم مكون Bookly عند الإصدارات <= 27.0.
  • المواقع التي تسمح بتدفقات الحجز العامة (غير المصرح بها) - وهو ما ينطبق على جميع حالات استخدام Bookly تقريبًا.
  • المواقع التي لا تنفذ إعادة حساب الإجماليات من جانب الخادم أو الدفاعات على مستوى HTTP (WAF).
  • المواقع التي لم يقم مالكوها بتطبيق تصحيح 27.1 (أو أحدث).

إذا كنت تدير Bookly وإصدار المكون الإضافي لديك هو 27.0 أو أقدم: اعتبر هذا أمرًا عاجلاً. حتى المواقع الصغيرة هي أهداف جذابة - يمكن للمهاجمين أتمتة الاستغلال.


قائمة التحقق من الإجراءات الفورية (لأصحاب المواقع)

  1. تحقق من إصدار Bookly الخاص بك:
    • انتقل إلى إدارة WordPress → المكونات الإضافية وتأكد من إصدار Bookly المثبت.
    • إذا كان <= 27.0، تابع فورًا إلى الخطوة التالية.
  2. قم بتحديث Bookly إلى 27.1 أو أحدث:
    • إذا كان بإمكانك التحديث فورًا، افعل ذلك الآن. دائمًا اختبر على بيئة الاختبار أولاً إذا كانت بيئتك تتطلب ذلك.
  3. إذا لم تتمكن من التحديث فورًا:
    • تطبيق WAF/تصحيح افتراضي (موصى به): حظر أو تطهير الطلبات التي تتضمن نصائح معلمة أو محاولة إرسال محتوى HTML عبر POST في نصائح.
    • تعطيل واجهة المستخدم للإكراميات مؤقتًا (إخفاء أو إزالة حقل الإكرامية من النماذج).
    • تأكد من أن التحقق من صحة الخادم يفرض تنسيقًا رقميًا ونطاقًا لمبالغ الإكراميات (انظر قواعد التحقق أدناه).
    • راقب السجلات للطلبات المشبوهة إلى نقاط نهاية الحجز التي تتضمن نصائح.
  4. قم بتشغيل فحص سلامة الموقع:
    • ابحث عن محتوى غير متوقع أو صفحات جديدة.
    • ابحث في المشاركات / الصفحات وقاعدة البيانات عن محتوى مدرج مشبوه (HTML مع ، iframe، أو كتل base64).
  5. قم بتدوير بيانات الاعتماد والإشعارات:
    • إذا وجدت أي نشاط مشبوه، قم بتدوير بيانات اعتماد المسؤول ومفاتيح API، وتواصل مع العملاء المتأثرين، واعتبر العودة إلى النسخ الاحتياطية التي تسبق أي اختراق تم اكتشافه.

التخفيفات التقنية التي يمكنك تطبيقها الآن

فيما يلي قواعد عملية ومقتطفات يمكنك استخدامها لتقوية موقعك أثناء إعدادك أو اختبارك لتحديث المكون الإضافي الرسمي.

1) حظر أو تطهير نصائح على مستوى جدار حماية تطبيق الويب

قاعدة WAF التي تحظر الطلبات حيث نصائح تحتوي المعلمة على علامات HTML أو نصوص برمجية أو أحرف مشبوهة هي دفاع جيد فوري. مثال على قاعدة نمط ModSecurity (قم بتعديلها لمحرك WAF الخاص بك):

# حظر الطلبات التي تحتوي على علامات HTML في معلمة 'الإكراميات' (مثال على قاعدة ModSecurity)"

أيضًا قائمة بيضاء للأرقام فقط:

# السماح بالأرقام فقط، مع فاصلة عشرية اختيارية تصل إلى رقمين"

إذا كنت تستخدم WP-Firewall، يمكننا نشر قواعد تصحيح افتراضية مكافئة على الحافة لحظر محاولات الاستغلال على الفور دون الانتظار لتحديث المكون الإضافي.

2) تحديد معدل وحظر نقاط النهاية المشبوهة

تطبيق تحديد معدل الوصول على نقاط النهاية المتعلقة بالحجز (معالجات AJAX، نقاط نهاية REST) لتقليل الاستغلال الجماعي الآلي.

  • تحديد عدد طلبات POST لكل عنوان IP إلى نقاط نهاية الحجز.
  • حظر مؤقت لطلبات POST المجهولة التي تتضمن نصائح ما لم تتبع أنماط الطلب المتوقعة (الرؤوس، المحيل، التدفقات المعروفة).

3) تعطيل واجهة المستخدم للإكراميات من جانب الخادم (تخفيف سريع ومنخفض المخاطر)

إذا كان حقل الإكراميات اختياريًا ولا يمكنك فرض التحقق من صحة الخادم بسرعة، قم بإزالة أو تعطيل إدخال الإكراميات في القوالب:

  • قم بالتعليق على إدخال الإكراميات أو إزالته من قوالب الحجز.
  • على الخادم، تجاهل أو اجعل نصائح المعامل صفرًا إذا كان موجودًا.

هذا يوقف مسار الشيفرة الضعيفة حتى تتمكن من التحديث بأمان.

4) فرض التحقق العددي من جانب الخادم وإعادة الحساب بشكل موثوق

الحسابات من جانب العميل مريحة ولكن لا يمكن الوثوق بها. في معالج الحجز الخاص بك:

  • دائمًا قم بتحويل والتحقق نصائح كقيمة عددية على الخادم.
  • أعد حساب الإجمالي النهائي من جانب الخادم باستخدام بيانات موثوقة:
    الإجمالي = سعر_الأساس + رسوم_الخدمة + الضرائب + الإكراميات_المعتمدة
  • رفض القيم السلبية أو الكبيرة بشكل غير معقول للإكراميات (على سبيل المثال،, الإكراميات > سعر_الأساس * 10).
  • استخدم دوال المساعدة في WordPress للتنظيف:
    • يستخدم floatval() / تنسيق_الرقم للأرقام.
    • عند الإخراج، استخدم esc_html() لعرض حقول النص.

عينة من كود PHP (من جانب الخادم):

// مثال على التحقق من صحة الخادم للنصائح

5) قم بتنظيف أي نص مقدم من المستخدم لمنع حقن المحتوى

إذا كان أي معلم (بما في ذلك النصائح إذا تم استخدامها كعلامة) يمكن أن ينعكس مرة أخرى في صفحات التأكيد أو رسائل البريد الإلكتروني، قم بتنظيفه باستخدام مناسب esc_* وظائف:

  • لسمات HTML: esc_attr()
  • للإخراج HTML: esc_html() أو wp_kses() مع قائمة صارمة من العلامات المسموح بها
  • بالنسبة لروابط URL: esc_url_raw()

6) التسجيل والتنبيه

أضف قواعد التسجيل لالتقاط الطلبات التي تتضمن نصائح بمحتوى غير متوقع. تنبيه على:

  • غير رقمي نصائح قيم.
  • طلبات متكررة من نفس عنوان IP تضرب نقاط نهاية الحجز.
  • كميات نصائح شاذة كبيرة.

الكشف والاستجابة للحوادث - خطوة بخطوة

إذا كنت تشك في الاستغلال أو تقوم بعملية بحث:

  1. حدد نقاط النهاية المحتملة:
    • راجع ملفات مكون Bookly وتحقق من إجراءات AJAX أو مسارات REST التي تقبل نصائح. تشمل نقاط النهاية الشائعة معالجات admin-ajax PHP التي تتعامل مع الحجوزات، حساب الأسعار، ومعالجة الطلبات.
  2. استعلام سجلات الخادم وسجلات الويب:
    • البحث في سجلات الوصول عن الطلبات التي تحتوي على tips= وتصفية على الأساليب (POST/GET).
    • مثال على الجريب:
      grep -i "tips=" /var/log/apache2/access.log | tail -n 200
  3. البحث في قاعدة البيانات عن المحتوى المدخل:
    • استخدم WP-CLI أو SQL للبحث عن السكربتات المشبوهة أو الكلمات الرئيسية المعروفة للتصيد.
    • مثال WP-CLI:
      wp db query "SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%%' OR post_content LIKE '%iframe%';"
  4. مسح الملفات بحثًا عن توقيتات معدلة:
    • ابحث عن الملفات التي تم تغييرها حول الوقت الذي تشك فيه في الاستغلال.
    • مثال:
      find . -type f -printf '%TY-%Tm-%Td %TT %p
              
  5. إذا أكدت الاختراق:
    • ضع الموقع في وضع الصيانة أو افصل عن الإنترنت حتى يتم احتواء المشكلة.
    • استعد من نسخة احتياطية نظيفة (يفضل أن تكون قبل الحادث).
    • قم بتدوير جميع بيانات اعتماد المسؤول والنظام.
    • إزالة المحتوى الضار وإغلاق المسار الضعيف (تحديث Bookly، أو تطبيق قاعدة WAF).
    • إجراء مسح كامل للبرمجيات الخبيثة وتحليل جنائي.

كيف يساعد جدار حماية تطبيق الويب (WAF) هنا

  • التصحيح الافتراضي: يمكن لجدار الحماية WAF حظر الطلبات التي تتطابق مع أنماط الاستغلال (مثل، tips غير الرقمية، علامات HTML في tips) قبل أن يصل الطلب إلى WordPress. هذا يمنحك الوقت للتحديث بأمان.
  • تحديد معدل الوصول والدفاع ضد الروبوتات: يمنع الاستغلال الآلي الجماعي على نطاق واسع.
  • السياسات المركزية: إذا كنت تدير مواقع متعددة، يمكنك تطبيق مجموعة قواعد واحدة عبر جميع المواقع المتأثرة لتقليل الأعباء التشغيلية.
  • المراقبة والتنبيه: إشعارات فورية حول الأنشطة المشبوهة الموجهة إلى نقاط حجز.

يوفر WP-Firewall WAF مُدار وتصحيح افتراضي يمكن تطبيقه على الفور لحماية سير العمل في الحجز أثناء اختبارك وتحديثك لـ Bookly.


قواعد وعلامات WAF نموذجية (أمثلة عملية)

أدناه أمثلة على التعبيرات العادية والقواعد الزائفة المناسبة لـ WAF. يرجى تخصيصها لبيئتك واختبارها أولاً على البيئة التجريبية.

  • حظر علامات HTML في نصائح:
    ريجكس: ]+>
    الإجراء: رفض (403) وتسجيل.
  • السماح بقيم الإكرامية الرقمية فقط:
    ريجكس: ^[0-9]+(\.[0-9]{1,2})?$
    الإجراء: إذا نصائح لم تتطابق، قم بتعيين النصائح=0 أو الرفض.
  • اكتشاف كميات الإكرامية المفرطة:
    القاعدة: إذا النصائح > (سعر_الأساس * 10) ثم علم للمراجعة اليدوية.
  • حظر الهياكل الشبيهة بالبرامج النصية:
    التعبير العادي للهياكل البرمجية: (جافا سكريبت:|onerror=|onload=|<script|<iframe|eval\()
    الإجراء: الرفض والتسجيل.

قائمة التحقق لاختبار ما بعد التحديث (بعد الترقية إلى Bookly 27.1+)

  1. اختبار تدفق الحجز من البداية إلى النهاية على البيئة التجريبية:
    • تقديم الحجوزات مع نصائح عادية.
    • اختبار المدخلات العالية والصفرية والسلبية والمعطوبة للتأكد من التعامل معها بأمان.
  2. اختبار أن الإجماليات موثوقة:
    • التلاعب عمدًا بإجماليات جانب العميل وتأكيد أن الخادم يعيد حسابها ويرفض الإجماليات المتلاعب بها.
  3. التحقق من عدم وجود HTML أو سكريبتات في تأكيدات الحجوزات أو المحتوى المخزن.
  4. تشغيل عمليات مسح آلية (أدوات البرمجيات الخبيثة والمسح) وإجراء اختبار اختراق لتدفق الحجز إذا كان ذلك ممكنًا.
  5. مراقبة السجلات وتعيين عتبات إنذار عالية مؤقتة للوصول إلى نقاط نهاية الحجز لمدة لا تقل عن 7-14 يومًا بعد التصحيح.

توصيات المطورين (لمؤلفي الإضافات ومتكاملي المواقع)

  • لا تثق أبدًا في حسابات الأسعار المقدمة من العميل.
  • إعادة حساب الإجماليات على جانب الخادم باستخدام القيم الموثوقة.
  • استخدام فحوصات القدرة وnonces على أي نقطة نهاية تنشئ أو تحدث سجلات حجز دائمة.
  • تنظيف وهروب جميع القيم المقدمة من المستخدم باستخدام وظائف واجهة برمجة تطبيقات WordPress (esc_html، esc_attr، wp_kses).
  • تحديد قواعد صارمة للتحقق من المدخلات والحفاظ على اختبارات الوحدة التي تتحقق من الحالات الحدية (الأرقام السلبية، الأرقام الكبيرة جدًا، علامات HTML).
  • توثيق توقعات الأمان لمتكاملي المواقع (على سبيل المثال، عدم تجاوز التحقق من جانب الخادم للتخصيص).

استعلامات الكشف النموذجية وفحوصات الملفات

  • العثور على سجلات الطلبات مع نصائح الحاضر (Apache/Nginx):
    grep -i "tips=" /var/log/nginx/access.log
  • البحث عن علامات في المشاركات والصفحات:
    wp db query "SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%<script%';"
  • العثور على ملفات مشبوهة في مجلدات التحميلات أو السمات:
    grep -R --line-number "<script" wp-content/uploads
  • ابحث عن مستخدمي الإدارة غير المتوقعين:
    wp user list --role=administrator

إذا تم اختراق موقعك - إجراءات الحوادث ذات الأولوية

  1. تحتوي على:
    • ضع الموقع في وضع الصيانة.
    • قم بتطبيق حظر WAF أو عزل الموقع عن حركة المرور الخارجية.
  2. القضاء على:
    • قم بإزالة المحتوى المدخل وملفات الباب الخلفي.
    • استعد نسخة احتياطية نظيفة إذا لزم الأمر.
  3. تعافى:
    • قم بتحديث Bookly وجميع الإضافات / القوالب.
    • أعد تكوين الإعدادات المعززة وأعد تمكين الموقع فقط عندما يكون نظيفًا.
  4. الدروس المستفادة:
    • قم بإجراء تحليل السبب الجذري.
    • عزز المراقبة والفحوصات المجدولة.

التواصل والاعتبارات القانونية

إذا كانت بيانات العملاء أو الأموال قد تتأثر:

  • قم بإخطار العملاء المتأثرين بسرعة وشفافية.
  • قم بتسجيل إجراءاتك واتصالاتك.
  • اعتمادًا على الاختصاص ونوع العمل، قد تنطبق الالتزامات القانونية أو التنظيمية - استشر المستشار القانوني.

لماذا تعتبر التصحيحات الافتراضية مهمة الآن

تحديث الإضافة هو الحل النهائي. ولكن في العديد من البيئات، يجب جدولة التحديثات، واختبارها، أو المرور عبر التحكم في التغيير. تحمي التصحيحات الافتراضية (قواعد WAF المطبقة عند الحافة) موقعك العام على الفور أثناء إجراء الصيانة. تقلل هذه الطريقة المتعددة من فترة التعرض.

يوفر WP-Firewall تصحيحات افتراضية مُدارة ونشر قواعد فوري للدفاع ضد محاولات التلاعب بالمعلمات وإدخال المحتوى التي تستهدف أنظمة الحجز.


كيفية التحقق من أنك محمي بعد التخفيف

  • تأكد من أن قواعد WAF نشطة وتعيد 403 لطلبات الاختبار المصممة (استخدم حمولات آمنة وغير ضارة تتضمن أحرف غير صالحة).
  • قم بتشغيل ماسح الثغرات (غير مدمر) الذي يتحقق من انعكاس المدخلات ومنطق التحقق العددي.
  • راجع السجلات الحية لمحاولات الحظر.
  • تأكد من أن تدفقات الحجز لا تزال تعمل للمستخدمين الشرعيين بعد تطبيق القواعد.

تسليط الضوء على الخطة الجديدة - احمِ حجوزاتك مع WP-Firewall مجانًا

احمِ الحجوزات على الفور - جرب WP-Firewall مجانًا اليوم

إذا كنت ترغب في حماية فورية مُدارة أثناء تحديث واختبار Bookly، فإن خطة WP-Firewall المجانية تقدم دفاعات أساسية لمواقع الحجز:

  • الأساسي (مجاني): حماية أساسية - جدار ناري مُدار، عرض نطاق غير محدود، WAF، ماسح للبرامج الضارة، وتخفيف مخاطر OWASP Top 10. مثالي كطبقة أمان فورية لوقف محاولات الاستغلال ومنحك مساحة للتحديث بأمان.
  • المعيار ($50/السنة): يضيف إزالة تلقائية للبرامج الضارة والقدرة على وضع 20 عنوان IP في القائمة السوداء/القائمة البيضاء - مفيد للتعامل مع الإساءة المستهدفة.
  • برو ($299/السنة): يتضمن تقارير أمان شهرية، تصحيح افتراضي تلقائي للثغرات، وإضافات مميزة مثل مدير حساب مخصص وخدمة أمان مُدارة للدعم المكثف.

ابدأ بالخطة المجانية هنا: https://my.wp-firewall.com/buy/wp-firewall-free-plan/


التوصيات النهائية - ذات أولوية

  1. إذا كان Bookly <= 27.0 مثبتًا على أي موقع تديره: قم بجدولة تحديث فوري إلى 27.1. اختبر ونشر في أقرب وقت ممكن.
  2. إذا لم يكن التحديث الفوري ممكنًا: طبق قواعد WAF لتنظيف أو حظر نصائح, ، قم بتعطيل واجهة المستخدم للإكراميات، وفعّل تحديد المعدل على نقاط نهاية الحجز.
  3. تحقق من إعادة حساب إجمالي الحجوزات على جانب الخادم والتحقق الصارم من القيم الرقمية للإكراميات.
  4. قم بتشغيل فحص للبرامج الضارة وسلامة المحتوى للصفحات والمحتوى المُحقن وراقب السجلات للنشاط المشبوه.
  5. لمشغلي المواقع المتعددة: اعتبر التصحيح الافتراضي المركزي عبر أسطولك لوقف الاستغلال الجماعي.

أفكار ختامية من WP-Firewall

الهجمات التي تبدو منخفضة الشدة في البداية يمكن أن تتصاعد بسرعة عند استخدامها بشكل جماعي. أنظمة الحجز جذابة بشكل خاص لأنها تجمع بين التجارة وثقة العملاء - أي محتوى مُحقن أو عملية دفع مُعالجة تضعف كلاهما.

نوصي بنهج متعدد الطبقات وعملي: قم بتصحيح سريعًا، ولكن إذا لم يكن التصحيح ممكنًا على الفور، قم بنشر قواعد WAF، قلل من سطح الهجوم، وراقب بشكل عدواني. إذا كنت ترغب في حماية فورية على موقع WordPress الخاص بك أثناء اختبار التحديثات، يمكن لـ WP-Firewall نشر تصحيحات افتراضية وقواعد WAF مُدارة للحفاظ على سلامة حجوزاتك وعملائك.

ابقَ آمنًا، وإذا كنت بحاجة إلى مساعدة في تنفيذ أي من التخفيفات المذكورة أعلاه، فإن فريق الأمان لدينا جاهز للمساعدة.

— فريق أمان جدار الحماية WP


wordpress security update banner

احصل على WP Security Weekly مجانًا 👋
أفتح حساب الأن
!!

قم بالتسجيل لتلقي تحديث أمان WordPress في بريدك الوارد كل أسبوع.

نحن لا البريد المزعج! اقرأ لدينا سياسة الخصوصية لمزيد من المعلومات.