قائمة البريد الإلكتروني السوداء - سؤال حول الحذف/التعطيل الجماعي

بعد إدراج النطاقات في القائمة السوداء، تبقى الحسابات التي تم اجتيازها مسبقًا دون تأثير ولا تزال قابلة للاستخدام.

أود أن أسأل عما إذا كان أحد يعرف طريقة لتدمير (حذف المستخدم ومحتواه بالكامل) أو تعليق أو إسكات المستخدمين بشكل جماعي بناءً على نطاق البريد الإلكتروني الخاص بالتسجيل؟

في حالتي، سيسمح ذلك بحذف/تعطيل مئات الآلاف من الحسابات التي استخدمت تقنية النطاق الشامل للتسجيل.

هل كانت هذه البيانات مُهجرة؟ حذف عدد كبير من الحسابات سيكون مؤلمًا جدًا — ما لم يكن المحتوى فيها شبه معدوم.

يمكنك القيام بذلك من وحدة تحكم Rails، لكنه يبدو وكأنه قد يكون فوضويًا للغاية.

@codinghorror - ليست بيانات تم نقلها. لا يزعجني أن يكون الأمر مؤلمًا وبطيئًا، لأن البديل المتمثل في السماح بحسابات بالبقاء أسوأ على الأرجح :hot_face: أما من حيث كمية المحتوى، فهو مزيج؛ فبعضها لا يحتوي على أي محتوى (عادةً ما يخطط المحتالون لاستخدام هذه الحسابات لاحقًا)، وبعضها يحتوي على الحد الأدنى، وبعضها يحتوي على كميات هائلة.

@pfaffman عظيم! هل تعرف كيف؟ ههه :pray:

هل فكرت في إخفاء هوية المستخدمين؟

@fzngagan قد يكون هذا حلاً متينًا. هل تعلم إذا كان هناك طريقة للقيام بذلك بشكل جماعي؟

نعم، يمكن القيام بذلك من خلال وحدة تحكم Rails. ولكن السؤال هو: ما المعايير التي تريد استخدامها لإخفاء هويتهم؟

@fzngagan رائع! المعيار هو جميع رسائل البريد الإلكتروني التي تستخدم نطاقًا محددًا في عنوان البريد الإلكتروني الخاص بالتسجيل. على سبيل المثال: example@blacklisted.com، example2@blacklisted.com

في وحدة تحكم Rails، اكتب هذه الأوامر وراجع ما إذا كانت تعطي النتائج المتوقعة (استبدل نمط بريدك الإلكتروني بـ ‘@gmail.com’)

idlist = UserEmail.where("email like '%@gmail.com'").pluck(:user_id)
users = User.find(idlist)

ثم (تابع بحذر)

system_user = Discourse.system_user
users.each do |user|
  UserAnonymizer.new(user, system_user).make_anonymous
end

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

@fzngagan رائع جداً، شكراً جزيلاً! :slight_smile: أقدر ذلك حقاً.

سأتأكد من أن كل شيء محجوز احتياطياً مؤخراً قبل تجربة ذلك.

سؤال سريع، هل تعرف ما إذا كان من الممكن إسكات المستخدمين بشكل جماعي (إلى الأبد) باستخدام هذه التقنية؟

نعم، يمكن لـ Rails Console القيام بمعظم ما يمكن إنجازه عبر الكود.