সেশন কুকিজ এবং টোকেন ব্যবহারের প্রক্রিয়া

HTTP সেশন এবং স্টেটলেসনেস (HTTP Sessions and Statelessness) - এইচটিটিপি (HTTP) - Computer Science

217

সেশন কুকিজ এবং টোকেন ব্যবহারের প্রক্রিয়া

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

১. সেশন কুকিজ

সেশন কুকিজ হল অস্থায়ী কুকি যা ব্যবহারকারী একটি ওয়েবসাইটে লগ ইন করার সময় তৈরি হয়। এগুলি সাধারণত ব্রাউজার বন্ধ করার পর মুছে যায়।

প্রক্রিয়া:

  1. লগ ইন:

    • ব্যবহারকারী লগ ইন করলে সার্ভার একটি সেশন তৈরি করে এবং একটি ইউনিক সেশন আইডি সহ কুকি তৈরি করে।
    • কুকিটি ক্লায়েন্টের ব্রাউজারে সংরক্ষণ করা হয়।

    PHP উদাহরণ:

    session_start(); // সেশন শুরু করা
    $_SESSION['user_id'] = $user_id; // ব্যবহারকারীর তথ্য সংরক্ষণ
    
  2. অনুরোধ পাঠানো:
    • ব্যবহারকারী যখন ওয়েবসাইটের বিভিন্ন পৃষ্ঠায় নেভিগেট করে, কুকিটি স্বয়ংক্রিয়ভাবে সার্ভারে পাঠানো হয়।
  3. সেশন যাচাইকরণ:

    • সার্ভার কুকি থেকে সেশন আইডি পড়ে এবং ব্যবহারকারীকে যাচাই করে।

    PHP উদাহরণ:

    session_start();
    if (!isset($_SESSION['user_id'])) {
        header("Location: login.php"); // লগইন পৃষ্ঠায় রিডাইরেক্ট
        exit();
    }
    
  4. সেশন শেষ হওয়া:

    • ব্যবহারকারী লগ আউট করলে বা সেশন সময় শেষ হলে সার্ভার সেশন তথ্য মুছে দেয়।

    PHP উদাহরণ:

    session_start();
    session_destroy(); // সেশন ধ্বংস করা
    

২. টোকেন

টোকেন হল নিরাপত্তা টোকেন যা ক্লায়েন্ট এবং সার্ভারের মধ্যে সংযোগের সময় ব্যবহারকারীর পরিচয় যাচাই করতে ব্যবহৃত হয়। এটি সাধারণত JWT (JSON Web Token) ফরম্যাটে হয়।

প্রক্রিয়া:

  1. লগ ইন:

    • ব্যবহারকারী লগ ইন করলে সার্ভার একটি টোকেন তৈরি করে এবং এটি ক্লায়েন্টকে পাঠায়।

    JavaScript উদাহরণ (AJAX):

    fetch('/api/login', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ username: 'user', password: 'pass' })
    })
    .then(response => response.json())
    .then(data => {
        localStorage.setItem('token', data.token); // টোকেন স্থানীয় স্টোরেজে সংরক্ষণ
    });
    
  2. অনুরোধ পাঠানো:

    • ক্লায়েন্ট যখন পরবর্তী অনুরোধ পাঠায়, এটি টোকেনকে HTTP হেডারে যুক্ত করে।

    JavaScript উদাহরণ:

    const token = localStorage.getItem('token');
    fetch('/api/protected-resource', {
        method: 'GET',
        headers: {
            'Authorization': `Bearer ${token}` // টোকেন পাঠানো
        }
    });
    
  3. টোকেন যাচাইকরণ:
    • সার্ভার টোকেনটি যাচাই করে নিশ্চিত করে যে এটি বৈধ এবং ব্যবহারকারীর পরিচয় নিশ্চিত করে।
  4. সেশন শেষ হওয়া:

    • টোকেন সাধারণত একটি নির্দিষ্ট সময় (যেমন 15 মিনিট) পরে মেয়াদ শেষ হয়, অথবা ব্যবহারকারী লগ আউট করলে এটি স্থানীয় স্টোরেজ থেকে মুছে ফেলা হয়।

    JavaScript উদাহরণ:

    localStorage.removeItem('token'); // টোকেন মুছে ফেলা
    

সারসংক্ষেপ

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

Content added By
Promotion

Are you sure to start over?

Loading...