يتمثل الاستخدام في الإزالة الحرجة زمنيًا لعمليات التحميل كجزء من سير عمل الأتمتة البشرية في الحلقة باستخدام activepieces ومستكشف البيانات وواجهة برمجة التطبيقات (API).
الهدف هو تمكين المشرفين العاديين من الوصول إلى طريقة بسيطة لإزالة عمليات التحميل بالكامل وبثقة على الفور دون الحاجة إلى الوصول عبر SSH، وتغطية شاملة لجميع الحالات المعروفة لكسر مراجع التحميل، بالإضافة إلى مسح ذاكرة التخزين المؤقت لشبكة توصيل المحتوى (CDN) تلقائيًا لعنوان URL المحدد (وفي حالة الصورة الرمزية التي يتم تمريرها عبر وكيل، بادئة عنوان URL بناءً على اسم المستخدم).
لقد شعرت بالارتياح عند الاختبار، لرؤية أنه تتم معالجة مراجع الصور الرمزية وخلفية الملف الشخصي وخلفية البطاقة تلقائيًا عند تدمير عملية تحميل.
https://github.com/discourse/discourse/commit/e1975e293f2625259e925b4a3c93d88d5acfcaa8
https://github.com/discourse/discourse/commit/38e7b1a0492dd4282c3cd3b1ddb2b3343661d31f
السيناريوهان الرئيسيان سيكونان “الأرض المحروقة” و"الإزالة الجراحية". هذا هو العمل الجاري للأرض المحروقة:
التحويل إلى قائمة تجزئة (هاش) لعمليات التحميل:
-
عناوين URL للصور الرمزية (استخراج اسم المستخدم باستخدام التعبير العادي) ← الحصول على تجزئة الصورة الرمزية عبر استعلام مستكشف البيانات (التجزئة ليست في عنوان URL)
-
عناوين URL للمواضيع/المنشورات ← جمع جميع تجزئات التحميل المستخدمة في هذا المنشور باستخدام مستكشف البيانات
-
عناوين URL مباشرة للتحميل الأصلي/المُحسَّن (بما في ذلك خلفية الملف الشخصي وخلفية البطاقة) ← استخراج التجزئات باستخدام التعبير العادي
ثم الاستعلام عن كل تجزئة للعثور على جميع التكرارات (استعلام واحد لمستكشف البيانات لتغطية جميع الحالات، تجزئة واحدة في كل مرة):
-
قائمة بأسماء المستخدمين/المعرفات، للمستخدمين الذين استخدموها كصورة رمزية
-
قائمة بأسماء المستخدمين/المعرفات، للمستخدمين الذين استخدموها كخلفية للملف الشخصي
-
قائمة بأسماء المستخدمين/المعرفات، للمستخدمين الذين استخدموها كخلفية للبطاقة
-
قائمة بجميع المنشورات (الخام) التي تستخدم هذا التحميل
الإجراءات:
-
تعليق جميع المستخدمين الذين استخدموا التحميل كصورة رمزية أو خلفية للملف الشخصي أو خلفية للبطاقة
-
تعليق جميع المستخدمين الذين لديهم منشورات تشير إلى التحميل المستهدف، ولكن استبعادهم إذا كان مرجعهم متداخلاً داخل اقتباس
-
حذف جميع المواضيع
-
حذف جميع المنشورات
-
تدمير التحميل (لا يوجد نقطة نهاية لواجهة برمجة التطبيقات)
-
مسح جميع عناوين URL لشبكة CDN (المُحسَّنة/غير المُحسَّنة)
-
مسح البادئة القياسية لعناوين URL للصور الرمزية التي يتم تمريرها عبر وكيل لكل اسم مستخدم مرتبط (لتغطية جميع الأحجام)
سيناريو الإزالة الجراحية سيكون هو نفسه تقريبًا، ولكن دون تعليق المستخدمين المرتبطين ويتطلب بعض التغييرات فيما يتعلق بجمع جميع تجزئات التحميل من عناوين URL للمنشورات/المواضيع.
من المحتمل أن يظل حذف المنشورات/المواضيع نفسها لتجنب المراجع المكسورة، ولكن إزالة تنسيق علامات التحميل الخاصة بعملية التحميل المحددة تلك (دون المساس بعمليات التحميل الأخرى) سيكون أفضل إذا كان ذلك ممكنًا. مثل هذه الأتمتة لو أنها لم تقم بإزالة جميع مراجع تحميل علامات التنسيق.
من الناحية المثالية، أود أن أكون قادرًا على حظر التجزئات أيضًا، بحيث بعد المرور بما سبق، لا يتمكن شخص ما من إنشاء حساب جديد وإعادة التحميل ببساطة.
![]()
لا أعتقد أن هذا ممكن حاليًا لمشرف عادي، مثل استخدام الكلمات المراقبة. لذا ربما يكون إجراء فحص دوري مثل المذكور أعلاه لقائمة التجزئات طريقة للتعامل مع ذلك.