استعادة النسخة الاحتياطية إلى مثيل محلي بطريقة آمنة/مجهولة

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

ولكن كيف يمكنني القيام بذلك لتجنب مخاطر مثل إرسال رسائل بريد إلكتروني إلى المستخدمين الحقيقيين من النسخة المحلية؟ وهل هناك ربما بعض الفخاخ الأخرى التي لا أدركها؟

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

قم بتشغيل هذا من وحدة تحكم Rails لتعمية جميع المستخدمين باستثناء الموظفين:

acting_user = User.find(-1)
User.all.each do |u|
  next if u.staff? 
  user = UserAnonymizer.new(u, acting_user).make_anonymous
end

أليس من الأبسط تعطيل جميع الرسائل الصادرة؟ هذا إعداد عام للموقع.

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


بالمناسبة، توصلتُ إلى أنه ربما يكون من الأفضل استخدام خادم ونطاق منفصلين بدلاً من إعداد Docker المحلي للتطوير.

كما أفهم الأمر، فإن استعادة النسخة الاحتياطية لا تؤثر على ملف app.yml، لذا إذا لم أدخل إعدادات SMTP في app.yml على خادم الاختبار، فهل لن تكون لديه أي فرصة لإرسال أي رسائل بريد إلكتروني؟

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

لا، لأن Sidekiq يتم إيقافه مؤقتًا أثناء عملية الاستعادة.

نعم، لكنني أعني ليس أثناء العملية، بل بعد اكتمال الاستعادة (وكما أفهم، تُستأنف جميع العمليات فورًا بعد ذلك) وقبل أن غيّرت هذا الإعداد لتعطيل الرسائل البريدية.

عذراً، كانت إجابتي غير مكتملة بالفعل. عند استعادة نسخة احتياطية من Discourse، يتم تعطيل البريد الصادر تلقائياً كجزء من عملية الاستعادة. يجب تمكينها صراحةً بعد الاستعادة.

لا يزال يتعين عليك تعطيل استعلام POP يدويًا إذا كان مهيأً، وإلا فقد تبدأ مثيل الاختبار في معالجة البريد الوارد بعيدًا عن المثيل الفعلي.

شكرًا :slight_smile: أعتقد أنني أستخدم وضع استطلاع آخر عبر Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver

إعداد آخر يُرجح أن يُعطّل هو السماح بالفهرسة في ملف robots.txt

كما أضفت أيضًا Restrict access to your Discourse site with HTTP Basic Authentication.

هل يتلقى المسؤولون رسالة تذكير بتفعيل البريد الصادر؟

نعم، التنبيه الموجود في أعلى الصفحة.