Chrome 135 থেকে, আপনি নতুন sandbox মান ব্যবহার করতে পারেন: allow-same-site-none-cookies । যখন এই নীতিটি নির্দিষ্ট করা থাকে এবং তৃতীয় পক্ষের কুকিজ উপলব্ধ না থাকে, তখন ব্রাউজারটি শুধুমাত্র প্রথম পক্ষের স্যান্ডবক্সযুক্ত আইফ্রেম থেকে উদ্ভূত HTTP অনুরোধগুলিতে SameSite=None কুকিজ পাঠাবে।
স্যান্ডবক্সযুক্ত আইফ্রেম কী?
স্যান্ডবক্সযুক্ত আইফ্রেমগুলি হল বিশেষ বিধিনিষেধযুক্ত আইফ্রেম। এগুলিকে একটি null , অস্বচ্ছ উৎস হিসেবে বিবেচনা করা হয়। ডিফল্টরূপে, স্ক্রিপ্ট, ফর্ম এবং পপআপের মতো সম্ভাব্য ক্ষতিকারক বৈশিষ্ট্যগুলি স্যান্ডবক্সযুক্ত আইফ্রেমের মধ্যে উপলব্ধ নয়।
একটি স্যান্ডবক্সযুক্ত আইফ্রেমে কোন বৈশিষ্ট্যগুলি উপলব্ধ থাকা উচিত তা নির্দিষ্ট করতে sandbox অ্যাট্রিবিউট ব্যবহার করুন। উদাহরণস্বরূপ:
<iframe sandbox="allow-scripts" src="example-sandboxed-frame.html"/>
স্যান্ডবক্সিং সর্বদা একটি ভালো ধারণা, কারণ এটি আপনাকে সম্ভাব্য শোষণের সুযোগ সীমিত করার সাথে সাথে এমবেডেড কন্টেন্ট সফলভাবে লোড করার জন্য প্রয়োজনীয় অনুমতিগুলি সূক্ষ্মভাবে নির্বাচন করতে দেয়।
আমাদের এই নতুন নীতি কেন প্রয়োজন?
allow-same-site-none-cookies প্রবর্তনের আগে, আপনি একটি স্যান্ডবক্সযুক্ত আইফ্রেমের মধ্যে দুটি কুকি পরিস্থিতি কনফিগার করতে পারেন:
-
sandboxঅ্যাট্রিবিউটেallow-same-originটোকেন ছাড়া, iframe এর origin কেnullহিসেবে সিরিয়ালাইজ করা হয়, যা স্যান্ডবক্সযুক্ত পৃষ্ঠা ক্রস-সাইট থেকে সমস্ত অনুরোধ করে। এই ক্ষেত্রে, শুধুমাত্রSameSite=Noneসহ কুকিজ অনুরোধে অন্তর্ভুক্ত করা হবে। -
sandboxঅ্যাট্রিবিউটেallow-same-originটোকেন ব্যবহার করে, অনুরোধগুলিকে iframe এর আসল উৎস থেকে উৎপন্ন হিসাবে বিবেচনা করা হয়, যার ফলে যেকোনোSameSiteমান সহ কুকি পাঠানো সম্ভব হয়।
তৃতীয় পক্ষের কুকিজ ব্লক করা থাকলে, allow-same-origin অনুপস্থিত একটি স্যান্ডবক্সযুক্ত আইফ্রেম কোনও কুকি পাঠাতে অক্ষম, যদি না আপনি allow-same-site-none-cookies সক্ষম করেন।
allow-same-origin সহ একটি iframe তৃতীয় পক্ষের কুকিজ ব্লক করা থাকলেও একই সাইটের অনুরোধে কুকিজ অন্তর্ভুক্ত করতে সক্ষম হবে। তবে, সম্পূর্ণ অরিজিনের কুকি জার সম্ভাব্য ক্ষতিকারক ওয়েব কার্যকলাপের সংস্পর্শে আসবে।
allow-same-site-none-cookies ব্যবহার করে, একটি iframe HTTP অনুরোধে SameSite=None কুকি পাঠাতে পারে, যেখানে সম্ভাব্য সংবেদনশীল SameSite=Strict এবং SameSite=Lax কুকি অন্তর্ভুক্ত করা হবে না।
ব্যবহারিক উদাহরণ
practice-coding.example একটি সাইটের কথা বিবেচনা করুন, যা ব্যবহারকারীদের কাস্টম কোডিং প্রকল্প তৈরি এবং চালাতে এবং অন্যান্য ব্যবহারকারীর কোড এম্বেড করতে দেয়। পরিষেবাটি ব্যবহার করার জন্য, ব্যবহারকারীদের সাইন ইন করতে হবে, যার ফলে একটি SameSite=Strict সেশন কুকি সেট করা হবে।
অন্য একজন ব্যবহারকারী একটি প্রকল্প তৈরি করে, practice-coding.example/cookie-theft , যা অন্যান্য ব্যবহারকারীরা তাদের প্রকল্পে অজান্তেই একটি iframe হিসেবে এম্বেড করতে পারে। যদি SameSite=Strict এবং SameSite=Lax কুকিজ practice-coding.example/cookie-theft iframe-এর সংস্পর্শে আসে, তাহলে ক্ষতিকারক ব্যবহারকারী অন্যান্য ব্যবহারকারীর সেশন কুকিজ চুরি করতে পারে।
এই পরিস্থিতিতে, সাইটের মালিক সম্ভাব্য সংবেদনশীল কুকিগুলিতে অ্যাক্সেস সীমাবদ্ধ করতে চাইতে পারেন। তবে, তারা এখনও স্যান্ডবক্সযুক্ত আইফ্রেমের মধ্যে SameSite=None কুকিগুলিকে অনুমতি দিতে চাইতে পারেন। উদাহরণস্বরূপ, practice-coding.example/coding-interview স্যান্ডবক্সযুক্ত আইফ্রেমের জন্য প্রার্থীদের তাদের কোডটি পুনরায় দেখার অনুমতি দেওয়ার জন্য SameSite=None কুকির প্রয়োজন হতে পারে। allow-same-site-none-cookies সম্পূর্ণ কুকি জারটি প্রকাশ করা রোধ করে এবং প্রয়োজনীয় SameSite=None কুকিগুলিকে বেছে বেছে অনুমতি দেয়।
প্রথম পক্ষের স্যান্ডবক্সযুক্ত ফ্রেমের মধ্যে আমি কীভাবে শুধুমাত্র SameSite=None অনুমতি দেব?
প্রথম-পক্ষের স্যান্ডবক্সযুক্ত পৃষ্ঠাগুলি থেকে অনুরোধগুলিতে SameSite=None কুকিজ সক্ষম করতে, iframe ট্যাগে allow-same-site-none-cookies টোকেনটি নির্দিষ্ট করুন। উদাহরণস্বরূপ:
<iframe sandbox="allow-same-site-none-cookies" src="example-sandboxed-page.html"/>
আপনি একটি Content-Security-Policy HTTP হেডার ব্যবহার করে একটি allow-same-site-none-cookies নীতিও সেট করতে পারেন:
Content-Security-Policy: sandbox allow-same-site-none-cookies;
আমাদের ডেমো দিয়ে নিজে চেষ্টা করে দেখুন।
অংশগ্রহণ করুন এবং মতামত শেয়ার করুন
প্রতিক্রিয়া জানাতে বা সমস্যা রিপোর্ট করতে একটি সমস্যা ফাইল করুন, অথবা GitHub-এ আলোচনায় যোগ দিন।