يمكن للمستخدمين الذين ليسوا في مجموعات "Embedded media post" المسموح بها تجاوز قيود التحميل عن طريق نسخ رابط الصورة التي تم تحميلها

خطوات إعادة الإنتاج

  1. تعيين Newuser max embedded media = 0
    • هذا يمنع المستخدمين الجدد بشكل صحيح من تحميل الصور قبل تحميلها :white_check_mark:
  2. تكوين Embedded media post allowed groups
    • استبعاد مجموعات معينة من القائمة المسموح بها
    • عندما يقوم مستخدم ليس ضمن المجموعات المسموح بها بتحميل صورة:
      • يمكن للصورة الظهور في المحرر
      • فقط عند إرسال المنشور يتم حظرها :cross_mark:
  3. المشكلة
    • أثناء التحرير، يمكن للمستخدم نسخ رابط الصورة التي تم تحميلها لتجاوز قيود التحميل ونشرها

السلوك المتوقع

هدفنا هو منع المستخدمين من تحميل الصور. يجب ألا يتمكن المستخدمون الذين ليسوا ضمن المجموعات المسموح بها من إدراج أي وسائط مضمنة في المحرر على الإطلاق - يجب أن يمنع التحميل في وقت التحميل، تمامًا كما هو الحال عند تطبيق Newuser max embedded media = 0.

وإلا فيمكنهم نسخ رابط الصورة التي تم تحميلها وتجاوز القيد فعليًا لتحميلها.

لا أعرف ما إذا كانت هذه مشكلة جديدة، ولكننا لاحظناها للتو أيضًا:

يبدو أن تحميل الصورة إلى دلو S3 (cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com) يحدث بمجرد لصق الصورة. لا يحدث فحص التضمين إلا عند إرسال المنشور، ولكن بحلول ذلك الوقت تكون الصورة موجودة بالفعل في الدلو، ويمكن ربطها بأي مما يلي:

  • عنوان URL الخاص بها على S3
  • عنوان URL المختصر الخاص بـ Discourse
  • عنوان URL المُنشأ upload:// (أي، ببساطة إزالة علامة ! من بداية رمز تضمين التحميل الذي تم إنشاؤه تلقائيًا)

أنا قلق من أن هذا يعني أنه حتى التضمينات الفاشلة (أي، محاولات التحميل التي تم رفضها لاحقًا) تم تحميلها إلى الدلو، وهي تحسب سرًا مقابل حصة التخزين الخاصة بالموقع حتى لو اعتقد المُحمِّل أنها رُفضت ولا يمكن لأي شخص آخر رؤية التحميل.

للأسف، يبدو أن هذا الخطأ لا يزال دون إصلاح لفترة طويلة.