সঞ্চয়স্থান এবং কুকিজ

এক্সটেনশানগুলি কুকি সংরক্ষণ করতে পারে এবং একটি সাধারণ ওয়েবসাইটের মতোই ওয়েব স্টোরেজ API অ্যাক্সেস করতে পারে৷ যাইহোক, কিছু ক্ষেত্রে এগুলি এক্সটেনশনে ভিন্নভাবে আচরণ করে।

এক্সটেনশন API সম্পর্কে তথ্যের জন্য chrome.storage দেখুন।

স্টোরেজ

এক্সটেনশনে ওয়েব প্ল্যাটফর্ম স্টোরেজ API ব্যবহার করা প্রায়ই বাঞ্ছনীয়। এই বিভাগটি একটি এক্সটেনশন প্রসঙ্গে এই APIগুলির আচরণ অন্বেষণ করে, যা কখনও কখনও ওয়েবে তাদের আচরণের সাথে ভিন্ন হতে পারে।

জেদ

যখন একজন ব্যবহারকারী ব্রাউজিং ডেটা সাফ করে তখন এক্সটেনশন স্টোরেজ সাফ হয় না। এটি ওয়েব স্টোরেজ API ব্যবহার করে সঞ্চিত যেকোন ডেটার ক্ষেত্রে প্রযোজ্য (যেমন স্থানীয় স্টোরেজ এবং ইনডেক্সডডিবি )।

ডিফল্টরূপে, এক্সটেনশনগুলি সঞ্চয়স্থানে সাধারণ কোটা বিধিনিষেধের সাপেক্ষে, যা navigator.storage.estimate() কল করে চেক করা যেতে পারে। ভারী মেমরির চাপেও স্টোরেজ উচ্ছেদ করা যেতে পারে, যদিও এটি বিরল। এটি এড়াতে:

  • "unlimitedStorage" অনুমতির অনুরোধ করুন, যা এক্সটেনশন এবং ওয়েব স্টোরেজ API উভয়কেই প্রভাবিত করে এবং কোটা সীমাবদ্ধতা এবং উচ্ছেদ উভয় থেকে এক্সটেনশনকে ছাড় দেয়।
  • উচ্ছেদের বিরুদ্ধে সুরক্ষার জন্য navigator.storage.persist() এ কল করুন।

এক্সটেনশন সঞ্চয়স্থান এক্সটেনশন পরিষেবা কর্মী, যেকোনো এক্সটেনশন পৃষ্ঠাগুলি (পপআপ এবং সাইড প্যানেল সহ), এবং অফস্ক্রিন নথিগুলি সহ এক্সটেনশনের উত্স জুড়ে ভাগ করা হয়৷ বিষয়বস্তু স্ক্রিপ্টে, ওয়েব স্টোরেজ API-কে কল করা হোস্ট পৃষ্ঠা থেকে ডেটা অ্যাক্সেস করে যা কন্টেন্ট স্ক্রিপ্টে ইনজেকশন করা হয় এবং এক্সটেনশনে নয়।

সেবা কর্মীদের মধ্যে অ্যাক্সেস

IndexedDB এবং Cache Storage APIs পরিষেবা কর্মীদের মধ্যে অ্যাক্সেসযোগ্য। তবে, স্থানীয় স্টোরেজ এবং সেশন স্টোরেজ নয়।

আপনি যদি পরিষেবা কর্মী থেকে স্থানীয় স্টোরেজ বা সেশন স্টোরেজ অ্যাক্সেস করতে চান, তাহলে একটি অফস্ক্রিন নথি ব্যবহার করুন।

বিভাজন

পার্টিশনিং হল যেখানে সঞ্চিত ডেটার জন্য কীগুলি চালু করা হয় যেখানে এটি অ্যাক্সেস করা যায় তা সীমাবদ্ধ করা হয়। সঞ্চয়স্থান ঐতিহাসিকভাবে মূল দ্বারা চাবিকাঠি করা হয়েছে.

Chrome 115 থেকে শুরু করে, স্টোরেজ পার্টিশনিং নির্দিষ্ট ধরণের ক্রস-সাইট ট্র্যাকিং প্রতিরোধ করার জন্য পার্টিশনিং কীগুলিকে কীভাবে সংজ্ঞায়িত করা হয় তার পরিবর্তনগুলি প্রবর্তন করে৷ বাস্তবে, এর মানে হল যে যদি সাইট A একটি আইফ্রেম এম্বেড করে যার মধ্যে B সাইট থাকে, সাইট B একই স্টোরেজ অ্যাক্সেস করতে সক্ষম হবে না যা সাধারণত সরাসরি নেভিগেট করার সময় থাকে।

এক্সটেনশনগুলিতে এর প্রভাব কমাতে, দুটি ছাড় প্রযোজ্য:

  • যদি chrome-extension:// স্কিমের সাথে একটি পৃষ্ঠা যেকোন সাইটে এম্বেড করা থাকে, তাহলে স্টোরেজ পার্টিশনিং প্রযোজ্য হবে না এবং এক্সটেনশনটি তার শীর্ষ-স্তরের পার্টিশনে অ্যাক্সেস পাবে।
  • যদি chrome-extension:// স্কিমের সাথে একটি পৃষ্ঠায় একটি iframe অন্তর্ভুক্ত থাকে, এবং এক্সটেনশনটি যে সাইটটি এম্বেড করছে তার জন্য হোস্টের অনুমতি থাকে, সেই সাইটটি তার শীর্ষ-স্তরের পার্টিশনেও অ্যাক্সেস পাবে৷

কুকিজ

কুকিজ একটি নির্দিষ্ট ডোমেইন এবং পাথের সাথে যুক্ত কী-মান জোড়া সংরক্ষণ করার একটি উপায় প্রদান করে। এক্সটেনশনগুলিতে তাদের সীমিত মান রয়েছে তবে তাদের আচরণ বোঝা কার্যকর হতে পারে যদি আপনার একটি নির্দিষ্ট ব্যবহারের ক্ষেত্রে থাকে বা একটি তৃতীয় পক্ষের স্ক্রিপ্ট বান্ডিল করে থাকে যা তাদের বাস্তবায়নে ব্যবহার করে।

নিরাপদ কুকিজ

Secure কুকি অ্যাট্রিবিউট শুধুমাত্র https:// স্কিমের জন্য সমর্থিত। ফলস্বরূপ, chrome-extension:// পৃষ্ঠাগুলি এই বৈশিষ্ট্য সহ কুকি সেট করতে সক্ষম নয়৷

এর মানে হল যে এক্সটেনশন পৃষ্ঠাগুলি অন্যান্য কুকি বৈশিষ্ট্যগুলি ব্যবহার করতে পারে না যেখানে Secure অ্যাট্রিবিউটের প্রয়োজন হয়:

পার্টিশন এবং একইসাইট আচরণ

chrome-extension:// পৃষ্ঠাগুলিতে সেট করা কুকিগুলি সর্বদা SameSite=Lax ব্যবহার করে। ফলস্বরূপ, নিজের উৎপত্তিতে একটি এক্সটেনশন দ্বারা সেট করা কুকিগুলি কখনই ফ্রেমে অ্যাক্সেস করা যায় না এবং পার্টিশনিং প্রাসঙ্গিক নয়।

তৃতীয় পক্ষের সাইটগুলির সাথে যুক্ত কুকিগুলির জন্য, যেমন একটি এক্সটেনশন পৃষ্ঠার একটি ফ্রেমে লোড করা একটি তৃতীয় পক্ষের সাইটের জন্য, বা একটি এক্সটেনশন পৃষ্ঠা থেকে তৃতীয় পক্ষের উত্সের জন্য অনুরোধ করা হয়েছে, কুকিগুলি ওয়েবের মতোই আচরণ করে দুইটি রাস্তা:

  • কোনো প্রদত্ত ট্যাবের শীর্ষ-স্তরের পৃষ্ঠাটি একটি chrome-extension:// পৃষ্ঠা হলে তৃতীয় পক্ষের কুকিগুলি কখনোই সাবফ্রেমে ব্লক করা হয় না।
  • একটি এক্সটেনশন থেকে তৃতীয় পক্ষের কাছে অনুরোধগুলিকে একই-সাইট হিসাবে বিবেচনা করা হয় যদি এক্সটেনশনের তৃতীয় পক্ষের জন্য হোস্টের অনুমতি থাকে৷ এর মানে SameSite=Strict কুকি পাঠানো যেতে পারে। মনে রাখবেন যে এটি শুধুমাত্র নেটওয়ার্ক অনুরোধের ক্ষেত্রে প্রযোজ্য, JavaScript-এ document.cookie মাধ্যমে অ্যাক্সেস নয় এবং তৃতীয় পক্ষের কুকি ব্লক করা থাকলে প্রযোজ্য নয়।

মনে রাখবেন যে তৃতীয় পক্ষের কুকির চারপাশের সেটিংস গোপনীয়তা স্যান্ডবক্সের কাজ দ্বারা প্রভাবিত হয় এবং এর টাইমলাইন অনুযায়ী সামঞ্জস্য করা হয়।

chrome.cookies API প্রতিটি API পদ্ধতিতে ব্যবহার করার জন্য পার্টিশন কীটির উপর নিয়ন্ত্রণ প্রদান করে। আরও তথ্যের জন্য, API রেফারেন্স দেখুন।