متى يجب عزل ملف تعريف المتصفح

يحل تأجير ملف تعريف المتصفح (browser profile lease) مشكلة التزامن، حيث يخبرك أي عامل (worker) يمتلك الملف حالياً.

ولكن بعد فشل عملية الأتمتة، ستواجه سؤالاً جديداً.

هل لا يزال من الآمن إعادة استخدام ملف التعريف هذا؟

الملكية والحالة الصحية أمران مختلفان. يمكن للعامل تحرير عقد التأجير (lease) مع ترك ملف التعريف في حالة غير معروفة؛ فقد يحتوي الملف على ملفات تعريف ارتباط (cookies) جديدة، أو رموز (tokens) متغيرة، أو نماذج غير مكتملة.

إذا أعطيت هذا الملف للعامل التالي فوراً، فإنه سيرث الضرر.

لهذا السبب، أنت بحاجة إلى حالة "عزل" (quarantine state).

العزل هو حالة ما بعد الفشل. ويعني أنك لا تثق في الحساب أو الجلسة أو البيئة.

في أتمتة المتصفح، ملف التعريف هو أكثر من مجرد مجلد، فهو يحمل: • ملفات تعريف الارتباط (Cookies) والتخزين المحلي (local storage) • حالات تسجيل الدخول والأذونات • إعدادات الوكيل (Proxy) واللغة • سجل المهام الأخير

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

لا تعزل كل فشل. فأنت لست بحاجة لذلك إذا:

  • لم يتم تشغيل المتصفح أبداً
  • لم يتم فتح ملف التعريف أبداً
  • فشل العامل قبل عملية التأجير
  • اقتصرت عملية التشغيل على الصفحات العامة فقط
  • أُغلق المتصفح بشكل سليم

يكون العزل حيوياً عندما:

  • تعطل العامل بعد فتح ملف التعريف
  • وصلت عملية التشغيل إلى منطقة تتطلب مصادقة (authenticated area)
  • تغيرت حالة الجلسة أو ملفات تعريف الارتباط
  • حدث الفشل بالقرب من إجراء غير متماثل (non-idempotent action) مثل إرسال نموذج
  • تغير الوكيل (proxy) أو المنطقة أثناء التشغيل
  • كانت الأدلة غير مكتملة

يقوم المجدول (scheduler) البسيط فقط بالتحقق مما إذا كان ملف التعريف مقفلاً أو مفتوحاً. أما النظام الاحترافي فيستخدم حالات أكثر: • متاح (Available): جاهز للعمل • مؤجر (Leased): قيد الاستخدام • فترة تهدئة (Cooldown): يحتاج إلى استراحة قصيرة • معزول (Quarantined): حالة عدم يقين ناتجة عن الفشل • يحتاج إلى مراجعة (Needs Review): يتطلب فحصاً بشرياً • متقاعد (Retired): لا تستخدمه مرة أخرى

يجب أن يؤدي ملف التعريف المعزول إلى اتخاذ قرار. لا ينبغي أن يكون مجرد منطقة انتظار منسية. استخدمه لتسجيل معرف الملف (profile ID)، وآخر رابط (URL)، ولقطة شاشة (screenshot)، وسبب الخطأ.

توقف عن التعامل مع بيئات الحسابات الفاشلة كمدخلات نظيفة. التأجير يمنع التصادمات، والعزل يمنع سلسلة من الإخفاقات.

المصدر: https://dev.to/web4browser/when-a-browser-profile-should-be-quarantined-after-automation-failure-gpk