কুকি কী? ওয়েবসাইট কীভাবে আপনাকে মনে রাখে
কুকি হলো ছোট একটি লেখা, যা একটি ওয়েবসাইট আপনার ব্রাউজারে সংরক্ষণ করতে বলে এবং পরের প্রতিটি সেই সাইট ভিজিটে ফেরত পাঠায়। এভাবেই একটি ওয়েবসাইট আপনাকে "মনে রাখে" — আপনি লগইন করেছেন, আপনার কার্টে কী আছে, কোন ভাষা বেছেছেন। কুকি শুধু ডাটা, প্রোগ্রাম নয়, তবে এগুলো আপনাকে শনাক্ত করতে পারে বলে নিরাপত্তা ও গোপনীয়তা দুটোর জন্যই গুরুত্বপূর্ণ।
AI দিয়ে বানানোর সময় এটি কেন গুরুত্বপূর্ণ
আপনি AI বিল্ডারের কাছে যেসব ফিচার চাইবেন, তার নিচে কুকি কাজ করে, অনেক সময় "কুকি" শব্দটি না উঠেই:
- লগইন। বেশিরভাগ ওয়েব অ্যাপে "লগইন অবস্থায় থাকো" মানে একটি সেশন কুকি। সেই কুকি কীভাবে কনফিগার করা, তা ঠিক করে সেটি চুরি করা কত সহজ।
- কার্ট ও পছন্দ। পেজ রিফ্রেশের পরেও টিকে থাকা একটি ঝুড়ি প্রায়ই একটি কুকি বা ব্রাউজার স্টোরেজের ওপর নির্ভর করে।
- অ্যানালিটিক্স ও বিজ্ঞাপন। Google Analytics, একটি Meta পিক্সেল বা একটি চ্যাট উইজেট যোগ করলে সাধারণত অন্য কোম্পানির কুকি যোগ হয়।
- আইনি বিজ্ঞপ্তি। অনেক জায়গায় কিছু কুকির জন্য দর্শকের আগে সম্মতি লাগে, আর সেখান থেকেই কুকি ব্যানার আসে।
আপনার অ্যাপ কোন কুকি সেট করে এবং কেন, তা জানলে নিরাপত্তা সেটিংস, সম্মতি ও গোপনীয়তা নীতি নিয়ে আরও ভালো সিদ্ধান্ত নিতে পারবেন।
একটি দৈনন্দিন উপমা
একটি ক্লোকরুমের টিকিটের কথা ভাবুন। আপনি কোট জমা দেন এবং একটি নম্বরযুক্ত টিকিট পান। টিকিটে কোট থাকে না — শুধু একটি নম্বর। আপনি কাউন্টারে ফিরে এলেই টিকিট দেখান, এবং কর্মী জানেন কোটটি কার।
একটি সেশন কুকিও একইভাবে কাজ করে। আপনি লগইন করলে সার্ভার তার দিকে আপনার তথ্য রাখে এবং আপনার ব্রাউজারকে একটি টিকিট দেয় — একটি দীর্ঘ এলোমেলো ID। আপনার ব্রাউজার প্রতিটি অনুরোধের সাথে সেই টিকিট দেখায়, এবং সার্ভার দেখে আপনি কে। যে কেউ টিকিটটি কপি করে কোট তুলে নিতে পারে, তাই লগইন কুকি রক্ষা করা দরকার।
একটি কুকি আসলে কীভাবে কাজ করে
১. আপনি একটি সাইট ভিজিট করেন। সার্ভারের প্রতিক্রিয়ায় একটি হেডার থাকে, যেমন Set-Cookie: session_id=8f3k...; HttpOnly; Secure; SameSite=Lax।
২. আপনার ব্রাউজার সেটি সেই সাইটের ডোমেইনের সাথে যুক্ত করে সংরক্ষণ করে।
৩. একই সাইটে পরের প্রতিটি অনুরোধে ব্রাউজার স্বয়ংক্রিয়ভাবে Cookie: session_id=8f3k... যোগ করে।
৪. সার্ভার সেটি পড়ে এবং জানে এটি আপনি।
পেজের JavaScript-ও কুকি তৈরি করতে পারে, তবে সবচেয়ে গুরুত্বপূর্ণগুলো — লগইন সেশন — সার্ভার দিয়ে সেট হওয়া উচিত এবং JavaScript থেকে লুকানো থাকা উচিত।
কুকির ধরন
| ধরন | এর মানে | উদাহরণ |
|---|---|---|
| সেশন কুকি | মেয়াদের তারিখ নেই; ব্রাউজার সেশন শেষ হলে মুছে যায় | একটি স্বল্পস্থায়ী চেকআউট ধাপ |
| স্থায়ী কুকি | মেয়াদের তারিখ আছে (Expires বা Max-Age) এবং রিস্টার্টের পরেও টিকে থাকে | "৩০ দিন মনে রাখো" |
| প্রথম-পক্ষ | ঠিকানা-বারের সাইট দ্বারা সেট | সেই সাইটে আপনার লগইন |
| তৃতীয়-পক্ষ | পেজে এমবেড করা অন্য ডোমেইন দ্বারা সেট | একটি বিজ্ঞাপন নেটওয়ার্কের ট্র্যাকিং ID |
| একান্ত প্রয়োজনীয় | ব্যবহারকারী চেয়েছেন এমন সেবার জন্য দরকার | লগইন সেশন, শপিং কার্ট |
| অ-অপরিহার্য | সাইট মালিকের জন্য ভালো থাকলে | অ্যানালিটিক্স, বিজ্ঞাপন, A/B টেস্টিং |
ব্রাউজার ধীরে ধীরে তৃতীয়-পক্ষের কুকি সীমিত করেছে, কারণ এগুলো ওয়েবসাইট জুড়ে মানুষকে ট্র্যাক করতে ব্যবহৃত হয়। কয়েকটি প্রধান ব্রাউজার এখন ডিফল্টভাবে এগুলোর অনেকটি ব্লক করে, এবং বিস্তারিত ক্রমাগত বদলায়, তাই গুরুত্বপূর্ণ কিছু তৃতীয়-পক্ষের কুকির ওপর তৈরি করবেন না।
একটি উদাহরণ: ছোট অনলাইন দোকান
ধরুন আপনি হাতে তৈরি মোমবাতি বিক্রির একটি দোকান বানিয়েছেন। একটি বিবেচক সংস্করণ যে কুকিগুলো সেট করবে, এবং কেন, তা এখানে।
session — মালিক বা গ্রাহক লগইন করলে সেট হয়। এতে শুধু একটি এলোমেলো ID থাকে; আসল সেশন ডাটা সার্ভার রাখে। সেটিংস: HttpOnly (পেজ স্ক্রিপ্ট পড়তে পারে না), Secure (শুধু HTTPS-এর ওপর পাঠানো হয়), SameSite=Lax (অন্য সাইটের শুরু করা বেশিরভাগ অনুরোধে পাঠানো হয় না)। একান্ত প্রয়োজনীয়।
cart_id — লগইন না করা ভিজিটর যেন তার ঝুড়ি রাখতে পারে। এটি ডাটাবেসে সংরক্ষিত একটি কার্টের দিকে নির্দেশ করে। একান্ত প্রয়োজনীয়, কারণ ভিজিটর কার্টে জিনিস যোগ করতে চেয়েছেন।
theme — ডার্ক মোড মনে রাখে। এটি একটি কুকি হতে পারত, তবে এটি কখনো সার্ভারে পৌঁছানোর দরকার নেই, তাই ব্রাউজারের localStorage সহজ।
অ্যানালিটিক্স কুকি — আপনি একটি অ্যানালিটিক্স টুল ইনস্টল করলে যোগ হয়। এগুলো অ-অপরিহার্য। EU ও UK-তে এগুলো সেট হওয়ার আগে সাধারণত সম্মতি লাগে, তাই ভিজিটর "Accept" ক্লিক না করা পর্যন্ত অ্যানালিটিক্স স্ক্রিপ্ট অপেক্ষা করা উচিত।
লক্ষ্য করুন দোকানটি কুকিতে কী সংরক্ষণ করে না: গ্রাহকের নাম, ঠিকানা বা কার্ডের বিবরণ। কুকি প্রতিটি অনুরোধের সাথে যায় এবং ব্যবহারকারীর ডিভাইসে থাকে, তাই এগুলোতে ID থাকা উচিত, ব্যক্তিগত তথ্য নয়।
সাধারণ শব্দের ব্যাখ্যা
| শব্দ | এর মানে |
|---|---|
| কুকি | ব্রাউজারের সংরক্ষিত একটি ছোট নাম-মানের জুটি, যা সাইটে ফেরত পাঠানো হয়। |
Set-Cookie | একটি কুকি তৈরি বা হালনাগাদ করতে সার্ভার যে রেসপন্স হেডার ব্যবহার করে। |
| সেশন | একটি কুকি ID-এর সাথে যুক্ত, লগইন করা ব্যবহারকারীর সার্ভারের রেকর্ড। |
HttpOnly | পেজ JavaScript-কে কুকি পড়া থেকে আটকায়, যা ইনজেক্ট করা স্ক্রিপ্টের ক্ষতি সীমিত করে। |
Secure | কুকিটি শুধু এনক্রিপ্টেড HTTPS সংযোগে পাঠানো হয়। |
SameSite | অন্য সাইটের অনুরোধে কুকি পাঠানো হবে কিনা নিয়ন্ত্রণ করে (Strict, Lax বা None)। |
Expires / Max-Age | কুকিটি কখন মুছে ফেলা উচিত। |
| Domain / Path | সাইটের কোন ঠিকানাগুলো কুকি পাবে। |
| localStorage | ব্রাউজার স্টোরেজ, যা পেজ কোড পড়তে পারে কিন্তু স্বয়ংক্রিয়ভাবে সার্ভারে পাঠানো হয় না। |
| XSS | Cross-site scripting: আপনার পেজে চলা আক্রমণকারীর স্ক্রিপ্ট, যা ডাটা চুরির চেষ্টা করতে পারে। |
| CSRF | Cross-site request forgery: অন্য সাইট ব্রাউজারকে দিয়ে আপনার কুকিসহ একটি অনুরোধ পাঠানোর প্রতারণা। |
| Cookie consent | অ-অপরিহার্য কুকি সেট করার আগে দর্শকের অনুমতি চাওয়া। |
সাধারণ ভুল ও ভুল ধারণা
- "কুকি ভাইরাস।" এগুলো সাধারণ লেখা। আপনার কম্পিউটারে কোড চালাতে পারে না।
- কুকিতে সংবেদনশীল ডাটা রাখা। একটি এলোমেলো ID রাখুন এবং বিস্তারিত সার্ভারে রাখুন।
- localStorage-এ লগইন টোকেন। পেজে চলা যেকোনো স্ক্রিপ্ট localStorage পড়তে পারে, ইনজেক্ট করা একটিও। একটি
HttpOnlyকুকি পেজ স্ক্রিপ্ট দ্বারা একেবারেই পড়া যায় না। SecureওHttpOnlyনা থাকা। এই দুটি ফ্ল্যাগ সস্তা এবং সাধারণ ফাঁক বন্ধ করে।- ব্যানার সবকিছু কভার করে এই ধারণা। কেউ "Accept" ক্লিক করার আগেই অ্যানালিটিক্স লোড করে এমন ব্যানার তার কাজ করে না।
- লগআউট ভুলে যাওয়া। লগআউট করলে কুকি মোছা এবং সার্ভারে সেশন শেষ করা উচিত, যাতে কপি করা কুকি আর কাজ না করে।
- "আমি কুকি ব্যবহার না করলে গোপনীয়তার নিয়ম প্রযোজ্য নয়।" GDPR-এর মতো নিয়ম ব্যক্তিগত ডাটা যেখানেই সংরক্ষিত হোক তা কভার করে — লোকাল স্টোরেজ, ডিভাইস ফিঙ্গারপ্রিন্ট ও সার্ভার লগও এর মধ্যে।
আপনার AI বিল্ডারের কাছে কী চাইবেন
- "অ্যাপটি যে প্রতিটি কুকি সেট করে তার তালিকা দাও, কী কাজে, কতদিন থাকে, এবং সেটি একান্ত প্রয়োজনীয় কিনা।"
- "লগইন সেশনের জন্য
HttpOnly,Secure,SameSite=Laxকুকি ব্যবহার করো। localStorage-এ অথ টোকেন রেখো না।" - "কুকিতে শুধু একটি এলোমেলো সেশন ID রাখো; সেশন ডাটা সার্ভারে রাখো।"
- "লগআউটে কুকি মুছে দাও এবং সার্ভারে সেশন বাতিল করো।"
- "দর্শক গ্রহণ না করা পর্যন্ত অ্যানালিটিক্স বা মার্কেটিং স্ক্রিপ্ট লোড করো না, এবং তাদের পছন্দ মনে রাখো।"
- "গোপনীয়তা নীতিতে উপরের তালিকার সাথে মেলে একটি সরল কুকি অংশ যোগ করো।"
সম্মতির অংশের জন্য দেখুন কুকি সম্মতি কীভাবে যোগ করবেন। লগইনের সাথে কুকি কীভাবে মেলে, তা পড়ুন অথেন্টিকেশন কী।
Mythex-এ কুকি
Mythex আপনার অ্যাপের ব্যবহারকারীদের জন্য বিল্ট-ইন লগইন দেয় না, তাই আপনার অ্যাপ যে কুকিগুলো সেট করে সেগুলো তার নিজের কোড এবং আপনি যে টুলগুলো যোগ করেন সেগুলো থেকে আসে — যেমন আপনার বেছে নেওয়া অথ পদ্ধতির একটি সেশন কুকি। চ্যাটে এজেন্টকে এগুলোর তালিকা দিতে, সেটিংস কঠোর করতে, বা একটি সম্মতি ব্যানার যোগ করতে বলুন, এবং প্রকাশের আগে লাইভ প্রিভিউতে ফল যাচাই করুন। ডকসের আপনার অ্যাপে লগইন যোগ করা রেসিপিটি একটি ভালো শুরুর প্রম্পট, এবং আপনার বানানো অ্যাপের নিরাপত্তা ব্রাউজারের বাইরে কী ও সিক্রেট রাখার বিষয়টি কভার করে।
প্রশ্নোত্তর
ওয়েবসাইটের কুকি কী?
কুকি হলো ছোট একটি লেখা, যা একটি ওয়েবসাইট আপনার ব্রাউজারে সংরক্ষণ করতে বলে। ব্রাউজার সেই সাইটে পরের প্রতিটি অনুরোধের সাথে এটি ফেরত পাঠায়, যা সাইটকে মনে রাখতে দেয় আপনি লগইন করেছেন কিনা বা আপনার কার্টে কী আছে।
কুকি কি বিপজ্জনক?
কুকি শুধু ডাটা, প্রোগ্রাম নয়, তাই এগুলো কোড চালাতে বা কম্পিউটারে সংক্রমণ ঘটাতে পারে না। উদ্বেগের বিষয় হলো গোপনীয়তা, যখন তৃতীয় পক্ষের কুকি সাইট জুড়ে আপনাকে ট্র্যাক করে, এবং নিরাপত্তা, যখন একটি লগইন কুকি চুরি হয়ে আপনার ভান করতে ব্যবহৃত হয়।
প্রথম-পক্ষ ও তৃতীয়-পক্ষ কুকির মধ্যে পার্থক্য কী?
প্রথম-পক্ষের কুকি সেই সাইট সেট করে যার ঠিকানা আপনার ব্রাউজারের ঠিকানা-বারে থাকে, যেমন একটি লগইন কুকি। তৃতীয়-পক্ষের কুকি পেজে এমবেড করা অন্য একটি ডোমেইন সেট করে, যেমন একটি বিজ্ঞাপন নেটওয়ার্ক, এবং প্রায়ই অনেক সাইট জুড়ে আপনাকে অনুসরণ করতে ব্যবহৃত হয়।
আমার কি কুকি ব্যানার লাগবে?
এটি নির্ভর করে আপনার ব্যবহারকারী কোথায় আছে এবং আপনি কী কুকি ব্যবহার করেন তার ওপর। EU ও UK-তে অ-অপরিহার্য কুকি, যেমন অ্যানালিটিক্স বা বিজ্ঞাপন, সাধারণত আগে সম্মতি লাগে, আর সেবার জন্য একান্ত প্রয়োজনীয় কুকি, যেমন লগইন সেশন, সাধারণত লাগে না। আপনার ওপর প্রযোজ্য নিয়মগুলো দেখুন।
কুকি ও localStorage-এর মধ্যে পার্থক্য কী?
দুটোই ব্রাউজারে ডাটা সংরক্ষণ করে। কুকি প্রতিটি অনুরোধের সাথে স্বয়ংক্রিয়ভাবে সার্ভারে পাঠানো হয়, যা লগইনের জন্য উপযুক্ত। localStorage ব্রাউজারেই থাকে এবং শুধু পেজের নিজের কোড পড়তে পারে, যা থিমের মতো পছন্দের জন্য উপযুক্ত।