সেশন কুকিজ এবং টোকেন ব্যবহারের প্রক্রিয়া
সেশন কুকিজ এবং টোকেন উভয়ই ওয়েব অ্যাপ্লিকেশনগুলিতে সেশন ম্যানেজমেন্ট এবং ব্যবহারকারীর পরিচয় যাচাইকরণের জন্য ব্যবহৃত হয়। যদিও তাদের উদ্দেশ্য একই, তবে তাদের কাজের পদ্ধতি এবং নিরাপত্তা বৈশিষ্ট্য আলাদা।
১. সেশন কুকিজ
সেশন কুকিজ হল অস্থায়ী কুকি যা ব্যবহারকারী একটি ওয়েবসাইটে লগ ইন করার সময় তৈরি হয়। এগুলি সাধারণত ব্রাউজার বন্ধ করার পর মুছে যায়।
প্রক্রিয়া:
লগ ইন:
- ব্যবহারকারী লগ ইন করলে সার্ভার একটি সেশন তৈরি করে এবং একটি ইউনিক সেশন আইডি সহ কুকি তৈরি করে।
- কুকিটি ক্লায়েন্টের ব্রাউজারে সংরক্ষণ করা হয়।
PHP উদাহরণ:
- অনুরোধ পাঠানো:
- ব্যবহারকারী যখন ওয়েবসাইটের বিভিন্ন পৃষ্ঠায় নেভিগেট করে, কুকিটি স্বয়ংক্রিয়ভাবে সার্ভারে পাঠানো হয়।
সেশন যাচাইকরণ:
- সার্ভার কুকি থেকে সেশন আইডি পড়ে এবং ব্যবহারকারীকে যাচাই করে।
PHP উদাহরণ:
সেশন শেষ হওয়া:
- ব্যবহারকারী লগ আউট করলে বা সেশন সময় শেষ হলে সার্ভার সেশন তথ্য মুছে দেয়।
PHP উদাহরণ:
২. টোকেন
টোকেন হল নিরাপত্তা টোকেন যা ক্লায়েন্ট এবং সার্ভারের মধ্যে সংযোগের সময় ব্যবহারকারীর পরিচয় যাচাই করতে ব্যবহৃত হয়। এটি সাধারণত JWT (JSON Web Token) ফরম্যাটে হয়।
প্রক্রিয়া:
লগ ইন:
- ব্যবহারকারী লগ ইন করলে সার্ভার একটি টোকেন তৈরি করে এবং এটি ক্লায়েন্টকে পাঠায়।
JavaScript উদাহরণ (AJAX):
অনুরোধ পাঠানো:
- ক্লায়েন্ট যখন পরবর্তী অনুরোধ পাঠায়, এটি টোকেনকে HTTP হেডারে যুক্ত করে।
JavaScript উদাহরণ:
- টোকেন যাচাইকরণ:
- সার্ভার টোকেনটি যাচাই করে নিশ্চিত করে যে এটি বৈধ এবং ব্যবহারকারীর পরিচয় নিশ্চিত করে।
সেশন শেষ হওয়া:
- টোকেন সাধারণত একটি নির্দিষ্ট সময় (যেমন 15 মিনিট) পরে মেয়াদ শেষ হয়, অথবা ব্যবহারকারী লগ আউট করলে এটি স্থানীয় স্টোরেজ থেকে মুছে ফেলা হয়।
JavaScript উদাহরণ:
সারসংক্ষেপ
সেশন কুকিজ এবং টোকেন উভয়ই সেশন ম্যানেজমেন্টের জন্য ব্যবহৃত হয়, তবে তাদের ব্যবহারের প্রক্রিয়া আলাদা। সেশন কুকিজ সাধারণত ব্রাউজার সেশনের জন্য ব্যবহার করা হয় এবং সার্ভারের কাছে স্থায়ী তথ্য সংরক্ষণ করে। অন্যদিকে, টোকেন (বিশেষ করে JWT) ক্লায়েন্ট সাইডে নিরাপত্তা এবং স্থিতিশীলতার জন্য ব্যবহৃত হয় এবং সার্ভারের সঙ্গে যোগাযোগের সময় প্রমাণীকরণ নিশ্চিত করে। সঠিকভাবে এই দুটি প্রযুক্তি ব্যবহার করা নিরাপত্তা এবং ব্যবহারকারীর অভিজ্ঞতা উন্নত করতে সাহায্য করে।