ম্যানিফেস্ট - স্যান্ডবক্স

এক্সটেনশন পৃষ্ঠাগুলির একটি সংগ্রহ সংজ্ঞায়িত করে যা একটি স্যান্ডবক্সযুক্ত অনন্য উত্সে পরিবেশন করা হবে৷ একটি এক্সটেনশনের স্যান্ডবক্সযুক্ত পৃষ্ঠাগুলির দ্বারা ব্যবহৃত সামগ্রী নিরাপত্তা নীতি "content_security_policy" কী-তে নির্দিষ্ট করা আছে৷

একটি স্যান্ডবক্সে থাকার দুটি প্রভাব রয়েছে:

  1. একটি স্যান্ডবক্সযুক্ত পৃষ্ঠার এক্সটেনশন API-এ অ্যাক্সেস থাকবে না, বা অ-স্যান্ডবক্সযুক্ত পৃষ্ঠাগুলিতে সরাসরি অ্যাক্সেস থাকবে না (এটি postMessage() ব্যবহার করে তাদের সাথে যোগাযোগ করতে পারে)।
  2. একটি স্যান্ডবক্সযুক্ত পৃষ্ঠা বাকি এক্সটেনশন দ্বারা ব্যবহৃত সামগ্রী সুরক্ষা নীতি (CSP) এর অধীন নয় (এর নিজস্ব আলাদা CSP মান রয়েছে)৷ এর মানে হল, উদাহরণস্বরূপ, এটি ইনলাইন স্ক্রিপ্ট এবং eval() ব্যবহার করতে পারে।

উদাহরণস্বরূপ, একটি কাস্টম সিএসপি সহ একটি স্যান্ডবক্সে দুটি এক্সটেনশন পৃষ্ঠা পরিবেশন করা হবে তা এখানে কীভাবে উল্লেখ করা যায়:

{
  ...
  "content_security_policy": {
    "sandbox": "sandbox allow-scripts; script-src 'self' https://example.com"
  },
  "sandbox": {
    "pages": [
      "page1.html",
      "directory/page2.html"
    ]
  },
  ...
}

নির্দিষ্ট করা না থাকলে, ডিফল্ট "content_security_policy" মান হল sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self'; .

আপনি স্যান্ডবক্সকে আরও সীমাবদ্ধ করতে আপনার CSP মান নির্দিষ্ট করতে পারেন, তবে এটি অবশ্যই "sandbox" নির্দেশিকা অন্তর্ভুক্ত করতে হবে এবং allow-same-origin টোকেন থাকতে হবে না (সম্ভাব্য স্যান্ডবক্স টোকেনের জন্য HTML5 স্পেসিফিকেশন দেখুন)।

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

"Chrome এক্সটেনশনে eval() ব্যবহার করা" একটি স্যান্ডবক্সিং ওয়ার্কফ্লো বাস্তবায়ন সম্পর্কে আরও বিশদে যায় যা লাইব্রেরিগুলির ব্যবহারকে সক্ষম করে যা অন্যথায় এক্সটেনশনের ডিফল্ট সামগ্রী নিরাপত্তা নীতির অধীনে কার্যকর করতে সমস্যা হতে পারে৷