البيان: الموارد التي يمكن الوصول إليها على الويب

يشير ذلك المصطلح إلى مصفوفة من السلاسل تحدد مسارات الموارد المجمّعة التي يُتوقع أن تكون قابلة للاستخدام في سياق صفحة ويب. ترتبط هذه المسارات بجذر الحزمة، وقد تحتوي على أحرف بدل. على سبيل المثال، الإضافة التي تُدخل نصًا برمجيًّا للمحتوى بهدف إنشاء واجهة مخصّصة لـ example.com من شأنها السماح بأي موارد تتطلّبها الواجهة (الصور والرموز وأوراق الأنماط والنصوص البرمجية وغير ذلك) على النحو التالي:

{
  ...
  "web_accessible_resources": [
    "images/*.png",
    "style/double-rainbow.css",
    "script/double-rainbow.js",
    "script/main.js",
    "templates/*"
  ],
  ...
}

ستتوفر هذه الموارد بعد ذلك في صفحة ويب من خلال عنوان URL chrome-extension://[PACKAGE ID]/[PATH] الذي يمكن إنشاؤه باستخدام الطريقة extension.getURL. يتم عرض الموارد المدرَجة في القائمة المسموح بها باستخدام عناوين CORS المناسبة، بحيث تكون متاحة من خلال آليات مثل XHR.

سيتم حظر الانتقال من مصدر ويب إلى مورد إضافة ما لم يتم إدراج المورد على أنّه يمكن الوصول إليه على الويب. لاحظ الحالات التالية في الزاوية:

  • عندما تستخدم إحدى الإضافات واجهات برمجة تطبيقات webRequest أو declarativeWebRequest لإعادة توجيه طلب مورد عام إلى مورد لا يمكن الوصول إليه من خلال الويب، يتم أيضًا حظر هذا الطلب.
  • ينطبق ما سبق حتى إذا كان المورد الذي يتعذّر الوصول إليه على الويب مملوكًا لإضافة إعادة التوجيه.

ولا تحتاج النصوص البرمجية للمحتوى نفسها إلى إضافتها إلى القائمة المسموح بها.

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

مدى التوفّر التلقائي

إنّ الموارد داخل الحِزم التي تستخدم الإصدار manifest_version 2 أو إصدار أحدث يتم حظرها تلقائيًا، ويجب إدراجها في القائمة المسموح بها لاستخدامها من خلال هذه السمة.

إنّ الموارد داخل الحِزم التي تستخدم manifest_version 1 متاحة تلقائيًا، ولكن if إعداد هذه السمة، سيتم اعتبارها قائمة كاملة لجميع الموارد المُدرَجة في القائمة المسموح بها. سيتم حظر الموارد غير المُدرَجة.