ম্যানিফেস্ট - ওয়েব অ্যাক্সেসযোগ্য সম্পদ, ম্যানিফেস্ট - ওয়েব অ্যাক্সেসযোগ্য সম্পদ

স্ট্রিংগুলির একটি অ্যারে প্যাকেজ করা সংস্থানগুলির পথগুলি নির্দিষ্ট করে যা একটি ওয়েব পৃষ্ঠার প্রসঙ্গে ব্যবহারযোগ্য বলে প্রত্যাশিত৷ এই পাথগুলি প্যাকেজ রুটের সাথে আপেক্ষিক এবং এতে ওয়াইল্ডকার্ড থাকতে পারে। উদাহরণ স্বরূপ, 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 API ব্যবহার করে, তখন এই ধরনের অনুরোধ ব্লক করা হয়।
  • ওয়েব অ্যাক্সেসযোগ্য নয় এমন সংস্থান পুনঃনির্দেশিত এক্সটেনশনের মালিকানাধীন হলেও উপরেরটি সত্য।

কন্টেন্ট স্ক্রিপ্টগুলিকে অনুমোদিত তালিকাভুক্ত করার প্রয়োজন নেই।

ম্যানিফেস্ট সংস্করণ 2-এর আগে একটি এক্সটেনশনের মধ্যে থাকা সমস্ত সংস্থান ওয়েবের যেকোনো পৃষ্ঠা থেকে অ্যাক্সেস করা যেতে পারে। এটি একটি ক্ষতিকারক ওয়েবসাইটকে সেই এক্সটেনশনগুলিকে ফিঙ্গারপ্রিন্ট করার অনুমতি দেয় যা একজন ব্যবহারকারী ইনস্টল করেছে বা ইনস্টল করা এক্সটেনশনগুলির মধ্যে দুর্বলতাগুলি (উদাহরণস্বরূপ XSS বাগগুলি ) শোষণ করে৷ প্রাপ্যতাকে কেবলমাত্র সেই সম্পদের মধ্যে সীমিত করা যা স্পষ্টভাবে ওয়েব অ্যাক্সেসযোগ্য হওয়ার উদ্দেশ্যে তৈরি করা উভয়ই উপলব্ধ আক্রমণের পৃষ্ঠকে কমিয়ে দেয় এবং ব্যবহারকারীদের গোপনীয়তা রক্ষা করে।

ডিফল্ট উপলব্ধতা

manifest_version 2 বা তার উপরে ব্যবহার করে প্যাকেজের ভিতরের সংস্থানগুলি ডিফল্টরূপে অবরুদ্ধ করা হয় এবং এই সম্পত্তির মাধ্যমে ব্যবহারের জন্য অনুমোদিত হতে হবে৷

manifest_version 1 ব্যবহার করে প্যাকেজগুলির ভিতরের সংস্থানগুলি ডিফল্টরূপে উপলব্ধ, কিন্তু আপনি যদি এই বৈশিষ্ট্যটি সেট করেন তবে এটি সমস্ত অনুমোদিত তালিকাভুক্ত সংস্থানগুলির একটি সম্পূর্ণ তালিকা হিসাবে বিবেচিত হবে৷ তালিকাভুক্ত নয় এমন সম্পদ ব্লক করা হবে।