الإضافات تختصر كثيرًا من العمل، لكنها تضيف طبقة حالة وصلاحيات فوق المتصفح. Extension واحدة قد تملك host permissions واسعة، تخزن Tokens أو Preferences، وتحقن Scripts في صفحات عديدة. في متصفح متعدد Profiles، تثبيت نفس الإضافة بلا سياسة واضحة يمكن أن ينقل سياقًا أو يوسع سطح الخطأ. MV3 تقلل بعض الأنماط القديمة لكنها لا تلغي الحاجة إلى عزل Extension storage والصلاحيات.
عامل كل Extension كجزء من Profile state
لا تعتبر قائمة الإضافات إعدادًا عامًا فقط. إذا كانت Extension تحفظ login أو إعدادات أو cache، فيجب أن تعرف هل هذا التخزين معزول لكل Profile. اختبر extension storage بنفس طريقة اختبار LocalStorage للمواقع.
قلل الصلاحيات وال ـhosts
لا تمنح <all_urls> إذا كانت الإضافة تحتاج نطاقًا واحدًا فقط. في User Scripts، حدد match patterns بدقة. كل نطاق إضافي يعني صفحات أكثر يمكن للكود قراءتها أو تعديلها.
خطوات عملية
- راجع manifest permissions.
- راجع host_permissions.
- حدد content script matches.
- أزل الصلاحيات غير المستخدمة.
- اختبر الوظيفة بعد التقليل.
افصل Extensions التي تحمل هوية
Password manager أو إضافة Social أو CRM قد تحمل حسابًا داخلها. إذا كانت حالتها مشتركة عبر Profiles، يمكن أن يظهر حساب خاطئ أو token غير مقصود. استخدم نسخة أو storage معزولة أو امنع الإضافة في Profiles الحساسة بحسب تصميم المتصفح.
قائمة مراجعة
- Extension storage معزولة.
- حساب الإضافة لا ينتقل بين Profiles.
- Updates لا تغير permissions بصمت.
- الإضافات غير الضرورية غير مثبتة.
- Policies قابلة للتطبيق على Group من Profiles.
User Scripts تحتاج Versioning
سكريبت بسيط اليوم قد يصبح جزءًا حرجًا غدًا. ضع لكل Script ID و version و scope، وسجل من فعله وعلى أي Profiles. اختبر التغيير على Profile تجريبية قبل نشره جماعيًا.
راقب تأثير MV3 Service Workers
Service Worker الخاصة بالإضافة قد تتوقف وتعود حسب lifecycle، لذلك لا تبنِ منطقًا يفترض وجود state في الذاكرة دائمًا. خزّن الحالة المطلوبة بصورة صحيحة وتعامل مع restart. هذا مهم في Automation تعتمد على Extension background logic.
ضع Allowlist بدل تثبيت عشوائي
في فرق كبيرة، اعتمد قائمة Extensions موثوقة ومراجعة. كل إضافة جديدة تمر بفحص الصلاحيات والمصدر والتحديثات قبل السماح بتثبيتها على Profiles الإنتاج.
إدارة التحديثات جزء من الثقة
Extension موثوقة اليوم قد تطلب Permissions أوسع في تحديث جديد. راقب تغييرات manifest والإصدارات، واختبر النسخة الجديدة على Profiles تجريبية قبل تعميمها عندما يكون ذلك ممكنًا. في البيئات الحساسة، ثبّت version معروفة أو استخدم سياسة نشر مركزية بدل السماح بالتحديث غير المنضبط لكل مستخدم.
راقب الأخطاء بعد التحديث
سجل crashes أو permission failures المرتبطة بإصدار Extension جديد، وارجع للإصدار السابق أو عطّلها على Profiles المتأثرة إذا ظهر Regression واضح.
شارك في تقييم ونقاش المقال
رأيك يضيف قيمة للمقال ويساعدنا على تحسين المحتوى والنقاش حوله.
النقاش
جارٍ تحميل التعليقات…