কোনো ভুতুড়ে কুকিজ নেই

কুকিজ সবথেকে ভালো তাজা, তাই কোন বাসি কুকি ছাড়াই আপনি এখনও ভুতুড়ে মৌসুম উপভোগ করতে পারেন তা নিশ্চিত করার জন্য সর্বশেষ রেসিপিগুলি কী কী?

কুকিজ সবথেকে ভালো তাজা, তাই কোন বাসি কুকি ছাড়াই আপনি এখনও ভুতুড়ে মৌসুম উপভোগ করতে পারেন তা নিশ্চিত করার জন্য সর্বশেষ রেসিপিগুলি কী কী?

আমরা ওয়েব প্ল্যাটফর্ম জুড়ে তৃতীয় পক্ষের কুকিগুলি পর্যায়ক্রমে বন্ধ করার পথে আছি। ক্রস-সাইট ট্র্যাকিং মোকাবেলায় এটি একটি প্রধান মাইলফলক, তবে এটি একটি সুন্দর দীর্ঘ যাত্রার অংশ। আসুন আমরা কতদূর এসেছি এবং ভবিষ্যতে কী কী ট্রিট সঞ্চয় রয়েছে তা একবার দেখে নেওয়া যাক…

উপরিভাগে, কুকিজ একটি সাধারণ কী-মানের স্টোর প্রদান করে যা ব্রাউজার এবং সার্ভারের মধ্যে পাঠানো হয়। এটি একটি সাইটে দরকারী কার্যকারিতা প্রদান করতে পারে যেমন একটি পছন্দ সংরক্ষণ করা: theme=bats বা সাইন ইন করা ব্যবহারকারীর জন্য সেশন আইডি সংরক্ষণ করা।

থিম=বাদুড় বা fav_pumpkins=us-nyc-এর মতো সাধারণ মান বহনকারী একটি তৃতীয় পক্ষের কুকি

যদি সেই কুকিটি একই সাইটে ব্যবহার করা হয় যা এটি সেট করে, তাহলে আমরা সেটিকে প্রথম পক্ষের কুকি বলতে চাই। যদি এটি সেট করা সাইটের চেয়ে ভিন্ন কোনো সাইটের অংশ হিসেবে ব্যবহার করা হয়, আমরা সেটিকে তৃতীয় পক্ষের কুকি বলি। উদাহরণস্বরূপ, আমার theme=bats কুকি প্রথম পক্ষ হবে যদি আমি সেই সাইটটি পরিদর্শন করি যেটি এটি সেট করে থাকে, কিন্তু যদি এটি একটি আইফ্রেম বা অন্য ক্রস-সাইট রিসোর্সে একটি ভিন্ন সাইটের অংশ হিসাবে অন্তর্ভুক্ত করা হয় তবে এটি তৃতীয় হবে - পার্টি কুকি।

তৃতীয় পক্ষের কুকির সমস্যা হল যে তারা ক্রস-সাইট ট্র্যাকিং সক্ষম করতে পারে। একটি থিমের মতো কিছু সেট করার পরিবর্তে, ভাগ করা পরিষেবা সেখানে একটি সম্পূর্ণ শনাক্তকারী সঞ্চয় করতে পারে। সেই একই শনাক্তকারী তখন পাঠানো হয় যখন আপনি বিভিন্ন সাইট জুড়ে নেভিগেট করেন যাতে শেয়ার্ড সার্ভিস কুকি অন্তর্ভুক্ত থাকে—যার মানে হল যে একটি পরিষেবা সেই সাইট জুড়ে আপনার কার্যকলাপ পর্যবেক্ষণ করতে এবং লিঙ্ক করতে পারে।

একটি অনন্য আইডি বহনকারী একটি তৃতীয় পক্ষের কুকি যা তৃতীয় পক্ষের সাইটকে ওয়েবে ব্যবহারকারীকে ট্র্যাক করতে দেয়

ডিফল্টরূপে প্রথম পক্ষের কুকিজ

আমরা ইতিমধ্যে এখানে আমাদের যাত্রায় অগ্রগতি করেছি! এটি শুধুমাত্র একটি সাধারণ কুকি সেট করা হত: theme=pumpkins সমস্ত প্রসঙ্গে পাঠানো হবে: একই-সাইট বা ক্রস-সাইট! বেশিরভাগ সাইটই চায় যে তাদের কুকিগুলি একই সাইটের প্রসঙ্গে পাঠানো হোক। এটি কুকিতে SameSite অ্যাট্রিবিউটের মাধ্যমে নিয়ন্ত্রণ করা যেতে পারে। উদাহরণ স্বরূপ:

Set-Cookie: theme=bats; SameSite=Lax

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

তাই এখন, SameSite=Lax ডিফল্ট। আপনি যদি শুধু theme=bats সেট করেন তবে এটি শুধুমাত্র একই-সাইট প্রসঙ্গে পাঠানো হবে।

ডিফল্ট SameSite=Lax মান তৃতীয় পক্ষের প্রসঙ্গে কুকি পাঠানো বন্ধ করে

আপনি যদি একটি ক্রস-সাইট বা তৃতীয় পক্ষের কুকি চান (সম্ভবত আপনার একটি এমবেডেড উইজেটে প্রদর্শিত থিমটি প্রয়োজন) তাহলে আপনাকে নির্দিষ্ট করতে হবে:

Set-Cookie: theme=bats; SameSite=None; Secure
সুস্পষ্ট SameSite=কোনও মান ক্রস-সাইট প্রসঙ্গে পাঠানো কুকিকে চিহ্নিত করে না

এটি ব্রাউজারকে বলে যে আপনি যেকোন ক্রস-সাইট প্রসঙ্গে কুকি পাঠাতে চান, কিন্তু আমরা শুধু সুরক্ষিত সংযোগগুলিতে সীমাবদ্ধ রাখতে চাই।

এমনকি সুস্বাদু প্রথম পক্ষের কুকিজ

যদিও ডিফল্টটি কিছুটা ভাল হয়েছে, আপনার সেই রেসিপিটি উন্নত করার জন্য এখনও জায়গা রয়েছে। এখানে একটি দ্রুত স্বাদ আছে:

Set-Cookie:  __Host-theme=bats;
  Secure;
  Path=/;
  HttpOnly;
  Max-Age=7776000;
  SameSite=Lax;

এটি আপনাকে একটি প্রথম পক্ষের কুকি পাবে যা শুধুমাত্র একটি ডোমেনে সীমাবদ্ধ থাকবে, সুরক্ষিত সংযোগ থাকবে, JavaScript দ্বারা কোন অ্যাক্সেস নেই, এটি বাসি হওয়ার আগেই স্বয়ংক্রিয়ভাবে মেয়াদ শেষ হয়ে যায় এবং (অবশ্যই!) শুধুমাত্র একই-সাইট প্রসঙ্গে অনুমোদিত৷

কুকিজ চিপসের সাথে আরও ভাল স্বাদ!

ওয়েবের জাদুকরী দিকগুলির মধ্যে একটি হল একাধিক সাইট একসাথে রচনা করার ক্ষমতা। ধরা যাক আমি একটি মানচিত্র উইজেট তৈরি করতে চাই যা অন্যান্য সাইটগুলিকে সেরা কুমড়া প্যাচ ট্যুর বা ট্রিক-অর-ট্রিটিং রুটগুলি দেখাতে দেয়৷ ব্যবহারকারীদের রুট বরাবর তাদের অগ্রগতি সঞ্চয় করতে আমার পরিষেবা একটি কুকি ব্যবহার করে। সমস্যা হল, সেই একই থার্ড-পার্টি কুকি কুমড়ো প্যাচ সাইটে ট্রিক-অর-ট্রিটিং সাইটের মতোই পাঠানো হবে। আমি সাইটগুলির মধ্যে ব্যবহারকারীদের ট্র্যাক করতে চাই না, কিন্তু ব্রাউজারটি শুধুমাত্র একটি কুকি জার ব্যবহার করে—আমার জন্য সেই ব্যবহার আলাদা করার কোনো উপায় নেই!

SameSite সহ ক্রস-সাইট কুকিজ=কোনটিই এখনও একটি ভাগ করা কুকি জারে যায় না

সেখানেই কুকিজ হ্যাভিং ইন্ডিপেনডেন্ট পার্টিশনড স্টেট, বা চিপস, প্রস্তাব আসে। একটি শেয়ার্ড কুকি জার পরিবর্তে, টপ-লেভেল সাইট প্রতি একটি আলাদা এবং পার্টিশনড কুকি জার রয়েছে। সাইটগুলি তাদের কুকিতে Partitioned অ্যাট্রিবিউট ব্যবহার করে এতে অপ্ট-ইন করবে।

Set-Cookie: __Host-route=123;
  SameSite=None;
  Secure;
  Path=/;
  Partitioned;
কুকিতে বিভাজিত বৈশিষ্ট্যটি শীর্ষ-স্তরের সাইট প্রতি আলাদা কুকি জার তৈরি করে

সেই কুকি জার ভাগ করার পরিবর্তে, প্রত্যেকে তাদের নিজস্ব পায়! সহজ, নিরাপদ, এবং আরো স্বাস্থ্যকর।

আমরা এইমাত্র ক্রোম 109-এ ইন্ডিপেনডেন্ট পার্টিশনড স্টেট (CHIPS) থাকার কুকির জন্য পাঠানোর উদ্দেশ্য পাঠিয়েছি যার মানে তারা ডিসেম্বরে বিটাতে পরীক্ষা করার জন্য উপলব্ধ হবে এবং তারপরে জানুয়ারী 2023-এ স্ট্যাবলের জন্য প্রস্তুত হবে। সুতরাং, আপনি যদি খুঁজছেন আপনার সাইটের কুকি রেসিপি উন্নত করার জন্য একটি নতুন বছরের রেজোলিউশন তারপর একবার দেখুন এবং দেখুন আপনি সেই ক্রস-সাইট কুকিগুলিতে চিপ ছিটানো শুরু করতে পারেন কিনা!

প্রথম পক্ষের সেট সহ পার্টিতে কুকিজকে আমন্ত্রণ জানানো

বিকাশকারী প্রতিক্রিয়ার বিষয়ে, আপনি অনেকেই এটাও স্পষ্ট করেছেন যে এমন পরিস্থিতি রয়েছে যেখানে আপনি আপনার নিয়ন্ত্রণ করা সাইটগুলিতে পরিষেবাগুলি ভাগ করেন এবং সেগুলি জুড়ে কুকিজ ব্যবহার করতে সক্ষম হতে চান - তবে সেগুলিকে সত্যিকারের তৃতীয় পক্ষের প্রেক্ষাপটে পাঠাতে দেবেন না৷ উদাহরণস্বরূপ, সম্ভবত আপনার কাছে pretty-pumpkins.com এবং pretty-pumpkins.co.uk আছে। আপনার সিস্টেমে একটি কুকি-ভিত্তিক একক-সাইন থাকতে পারে যা এই সাইটগুলিতে কাজ করে। চিপস কাজ করবে না কারণ আমাকে শুধু উভয় সাইটে সাইন-ইন করতে হবে—প্রয়োজন হল এই সম্পর্কিত সাইটগুলিতে আমার একই কুকি দরকার৷

আমরা এটি সম্ভব করার চেষ্টা করার জন্য প্রথম পক্ষের সেটের প্রস্তাবে কাজ করছি। আমরা একটি অরিজিন ট্রায়াল এবং প্রচুর সম্প্রদায়ের আলোচনার মধ্য দিয়ে গেছি যা আমাদের সর্বশেষ সংস্করণে নিয়ে এসেছে যার লক্ষ্য:

  • সংস্থাগুলিকে সাইটগুলির একটি গ্রুপ সংজ্ঞায়িত করার একটি উপায় দিন যা একে অপরের সাথে একই-পক্ষ হওয়া উচিত।
  • সেই প্রথম পক্ষের সেটের মধ্যে ক্রস-সাইট কুকিগুলিতে অ্যাক্সেসের অনুরোধ করতে স্টোরেজ অ্যাক্সেস API ব্যবহার করুন।
প্রথম পক্ষের সেটগুলি শুধুমাত্র সম্পর্কিত সাইটগুলির মধ্যে একটি ভাগ করা কুকি জারকে অনুমতি দেয়৷

এই কুকিগুলি এখনও ওভেনে বেক করছে, তবে আপনি যখন পরীক্ষা করার জন্য আরও কিছু থাকবে তখন আপনি ফার্স্ট-পার্টি সেট ডেভেলপার গাইডে চেক ইন করতে পারেন, অথবা আপনি চাইলে WICG/প্রথম-পক্ষ-সেট প্রস্তাবে যেতে পারেন আলোচনায় অবদান রাখতে।

আপনার কুকিজ বাসি যেতে দেবেন না!

আমাদের লক্ষ্য হল 2024 সালের মাঝামাঝি থেকে Chrome-এ তৃতীয় পক্ষের কুকির জন্য সমর্থন বন্ধ করা শুরু করা। প্রস্তুতি নেওয়ার সময় আছে, কিন্তু আপনার এখনই পরিকল্পনা শুরু করা উচিত।

  1. SameSite=None দিয়ে যেকোনো কুকির জন্য আপনার কোড অডিট করুন। এই কুকি যে আপডেট প্রয়োজন হবে.
  2. আপনার যদি কোনো তৃতীয় পক্ষের কুকি না থাকে, নিশ্চিত করুন যে আপনার একই-সাইট কুকিজ সেরা প্রথম পক্ষের কুকিজ রেসিপি ব্যবহার করছে
  3. আপনি যদি সেই কুকিগুলি সম্পূর্ণরূপে অন্তর্ভুক্ত, এমবেডেড প্রেক্ষাপটে ব্যবহার করেন তাহলে চিপস প্রস্তাবটি তদন্ত করুন এবং পরীক্ষা করুন৷
  4. আপনার যদি একাধিক সাইট জুড়ে সেই কুকিগুলির প্রয়োজন হয় যা একটি সমন্বিত গোষ্ঠী গঠন করে, তাহলে প্রথম-পক্ষ সেট প্রস্তাবটি তদন্ত করুন৷
  5. আপনি যদি এই বিকল্পগুলির মধ্যে কোন একটি দ্বারা আচ্ছাদিত না হন, তাহলে আপনাকে অন্যান্য গোপনীয়তা স্যান্ডবক্স প্রস্তাবগুলি তদন্ত করতে হবে যেখানে আমরা ব্যক্তিগত ব্যবহারের ক্ষেত্রে যেগুলি ক্রস-সাইট ট্র্যাকিংয়ের উপর নির্ভর করে না তার জন্য উদ্দেশ্য-নির্মিত APIগুলি বিকাশ করছি৷

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

সুতরাং, মনে রাখবেন: কুকিজ সুস্বাদু হতে পারে-কিন্তু একবারে মাত্র কয়েকটি এবং নিশ্চিতভাবে অন্য কারো চুরি করার চেষ্টা করবেন না!