সতর্কীকরণ: সংস্করণ ৫৭ থেকে, ক্রোম স্যান্ডবক্সড পেজের ভিতরে আর বাহ্যিক ওয়েব কন্টেন্ট (এমবেডেড ফ্রেম এবং স্ক্রিপ্ট সহ) ব্যবহারের অনুমতি দেবে না। অনুগ্রহ করে এর পরিবর্তে একটি ওয়েবভিউ ব্যবহার করুন।
এটি অ্যাপ বা এক্সটেনশন পেজগুলির একটি সংগ্রহকে সংজ্ঞায়িত করে, যা একটি স্যান্ডবক্সযুক্ত অনন্য অরিজিন থেকে পরিবেশন করা হবে, এবং ঐচ্ছিকভাবে সেগুলির সাথে ব্যবহারের জন্য একটি কন্টেন্ট সিকিউরিটি পলিসিও নির্ধারণ করে। স্যান্ডবক্সে থাকার দুটি প্রভাব রয়েছে:
- একটি স্যান্ডবক্সড পেজ এক্সটেনশন বা অ্যাপ এপিআই-তে অ্যাক্সেস পাবে না, অথবা নন-স্যান্ডবক্সড পেজগুলিতে সরাসরি অ্যাক্সেস পাবে না (এটি
postMessage()এর মাধ্যমে তাদের সাথে যোগাযোগ করতে পারে)। একটি স্যান্ডবক্সড পেজ অ্যাপ বা এক্সটেনশনের বাকি অংশে ব্যবহৃত কন্টেন্ট সিকিউরিটি পলিসি (CSP)- এর আওতাভুক্ত নয় (এর নিজস্ব আলাদা CSP ভ্যালু থাকে)। এর মানে হলো, উদাহরণস্বরূপ, এটি ইনলাইন স্ক্রিপ্ট এবং
evalব্যবহার করতে পারে।উদাহরণস্বরূপ, একটি কাস্টম CSP ব্যবহার করে কীভাবে দুটি এক্সটেনশন পেজকে একটি স্যান্ডবক্সে পরিবেশন করা হবে তা নির্দিষ্ট করতে হয়, তা এখানে দেখানো হলো:
{ ... "sandbox": { "pages": [ "page1.html", "directory/page2.html" ] // content_security_policy is optional. "content_security_policy": "sandbox allow-scripts; script-src 'self'" ], ... }নির্দিষ্ট করে না দেওয়া হলে, ডিফল্ট
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 স্পেসিফিকেশন দেখুন)। এছাড়াও, আপনার নির্দিষ্ট করা CSP স্যান্ডবক্স করা পেজগুলোর ভেতরে বাইরের ওয়েব কন্টেন্ট লোড করার অনুমতি দিতে পারবে না।
মনে রাখবেন, আপনাকে শুধু সেই পেজগুলোই তালিকাভুক্ত করতে হবে যেগুলো উইন্ডো বা ফ্রেমে লোড হবে বলে আপনি আশা করেন। স্যান্ডবক্সড পেজ দ্বারা ব্যবহৃত রিসোর্সগুলো (যেমন স্টাইলশিট বা জাভাস্ক্রিপ্ট সোর্স ফাইল) sandboxed_page তালিকায় থাকার প্রয়োজন নেই; এগুলো যে পেজ দ্বারা এমবেড করা হয়, তার স্যান্ডবক্স ব্যবহার করবে।
"ক্রোম এক্সটেনশনে নিরাপদে eval ব্যবহার করা" শীর্ষক প্রবন্ধে একটি স্যান্ডবক্সিং ওয়ার্কফ্লো বাস্তবায়নের বিষয়ে আরও বিস্তারিত আলোচনা করা হয়েছে, যা এমন সব লাইব্রেরি ব্যবহারের সুযোগ করে দেয় যেগুলো অন্যথায় এক্সটেনশনের ডিফল্ট কন্টেন্ট সিকিউরিটি পলিসির অধীনে কার্যকর হতে সমস্যায় পড়ত।
স্যান্ডবক্সড পেজ শুধুমাত্র manifest_version 2 বা তার বেশি সংস্করণ ব্যবহারের ক্ষেত্রেই নির্দিষ্ট করা যেতে পারে।