কুকিজ এবং সেশনগুলি কী কী এবং তারা কীভাবে একে অপরের সাথে সম্পর্কিত?


86

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

এখন আমাদের কাছে "phpsessid" রয়েছে, যদি ক্লায়েন্ট সার্ভারে প্রবেশ করে তবে ব্রাউজার সার্ভারকে "phpsessid" প্রেরণ করে এবং সার্ভারটি tmp ফোল্ডারটি দেখে এবং যদি আমাদের কোনও ম্যাচ থাকে তবে এটি ব্যবহারকারীর জন্য থাকা প্রতিটি ডেটা আবার লোড করে দেয় এই ক্লায়েন্ট, কিন্তু আমি প্রক্রিয়া সম্পর্কে বিভ্রান্ত am।

আমি যদি কৃতজ্ঞতা প্রকাশ করব কেউ যদি আমাকে একটি সেশন এবং কুকিজ তৈরির সেই প্রক্রিয়াগুলি বুঝতে সহায়তা করতে পারে - পর্দার আড়ালে কী ঘটছে।


দেখে মনে হচ্ছে আপনি ইতিমধ্যে জানেন যা ঘটছে। আপনি কোন নির্দিষ্ট অংশটি আলোকিত করতে চান? এইচটিটিপি / কুকি অংশ, বা পিএইচপি কীভাবে সেশন স্টোর লোড করে?
মারিও

ব্রাউজারটি phpsessid দিয়ে যে কুকিটি সংরক্ষণ করছে, সেশন এবং কুকিজ তৈরির জন্য ক্লায়েন্টকে সনাক্ত করতে এই phpsesid কি?
ব্ল্যাঙ্কটেক্সট

ব্রাউজারটিতে কুকিটিতে পিএইচপি সেশন আইডি রয়েছে, যা সার্ভারকে "আরে আমি এই চ্যাপটি জানি" বলে দেয়, সার্ভারটি সেশন ডেটা ধরে রাখে (উদাহরণস্বরূপ / tmp / থেকে) এবং ব্যবহারকারীকে পুনরুদ্ধার করে
কোনও দেবদেবী

হ্যাঁ আমি এটি জানি, তবে আমি জিজ্ঞাসা করছি, এই "পিএইচপিসিসিড" সেশন এবং কুকিজ তৈরির আগে ক্লায়েন্টকে সনাক্ত করতে ব্যবহার করছে, এই phpsessid কি কুকি ডেটা এবং ক্লায়েন্ট কম্পিউটারের ভিতরে এবং সার্ভার টিএমপি ফোল্ডারে সেশন ফাইলের অভ্যন্তরে অন্তর্ভুক্ত রয়েছে? ?
ব্লাকটেক্সট

উত্তর:


173

এর মাধ্যমে চলুন:

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

কুকিজ

কুকিজ হ'ল ডেটার বিট, (সর্বোচ্চ 4KB লম্বা), যা একটি কী = মান জোড়ায় ডেটা ধারণ করে:

name=value; name2=value2

এগুলি হয় জাভাস্ক্রিপ্ট দ্বারা বা সার্ভারের মাধ্যমে HTTP শিরোনাম ব্যবহার করে সেট করা আছে ।

কুকিজের একটি মেয়াদ শেষ হওয়ার তারিখ সেট থাকে, উদাহরণস্বরূপ HTTP শিরোনাম ব্যবহার করে:

Set-Cookie: name2=value2; Expires=Wed, 19 Jun 2021 10:18:14 GMT

যা ব্রাউজারটির name2মান সহ একটি কুকি সেট করতে পারেvalue2 , যা প্রায় 9 বছরের মধ্যে শেষ হবে।

কুকিগুলিকে অত্যন্ত সুরক্ষিত হিসাবে বিবেচনা করা হয় কারণ ব্যবহারকারীরা সহজেই তাদের সামগ্রীগুলি পরিচালনা করতে পারেন। এজন্য আপনার সর্বদা কুকি ডেটা যাচাই করা উচিত । কুকি থেকে আপনি যা পাবেন তা অবশ্যই আপনি প্রত্যাশা করেছেন।

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

কুকিগুলি প্রায়শই সেশন তৈরিতে ব্যবহৃত হয় ।

সেশনস

সেশনগুলি কিছুটা আলাদা। প্রতিটি ব্যবহারকারী একটি সেশন আইডি পায় যা কুকি বা জিইটি ভেরিয়েবলের মাধ্যমে বৈধতার জন্য সার্ভারে ফিরে পাঠানো হয় ।

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

সেশনগুলি কুকিজের চেয়ে বেশি সুরক্ষিত হিসাবে বিবেচিত হয় কারণ ভেরিয়েবলগুলি নিজেরাই সার্ভারে রাখা হয় । এখানে কিভাবে এটা কাজ করে:

  1. সার্ভার একটি অধিবেশন খোলে (HTTP শিরোনামের মাধ্যমে একটি কুকি সেট করে)
  2. সার্ভার একটি সেশন ভেরিয়েবল সেট করে।
  3. ক্লায়েন্ট পরিবর্তন পৃষ্ঠা
  4. ক্লায়েন্ট ধাপ 1 থেকে সেশন আইডি সহ সমস্ত কুকিজ প্রেরণ করে।
  5. সার্ভার কুকি থেকে সেশন আইডি পড়ে।
  6. সার্ভারটি ডাটাবেসের একটি তালিকা থেকে সেশন আইডির সাথে মেলে (বা মেমরি ইত্যাদি)।
  7. সার্ভার একটি মিল খুঁজে পায়, ভেরিয়েবলগুলি পড়ে যা এখন $_SESSIONসুপারগ্লোবলে উপলব্ধ on

যদি পিএইচপি কোনও মিল খুঁজে না পায় তবে এটি একটি নতুন সেশন শুরু করবে এবং 1-7 থেকে পদক্ষেপগুলি পুনরাবৃত্তি করবে।

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


এটি এর সংক্ষেপে। আপনি উভয় বিষয়ে পিএইচপি ম্যানুয়ালটিতে আরও শিখতে পারেন।


4
সুতরাং এর মানে কি এই যে কুকিগুলিকে সেশনগুলি কাজ করার জন্য ক্রম চালু করতে হবে?
বড়পোটাটো

4
@ এডমন্ড: বেশিরভাগ ক্ষেত্রে, হ্যাঁ। যাইহোক, আপনি এটি সেট করতে পারেন যাতে সেশন আইডিগুলি জিইটি ভেরিয়েবলের মাধ্যমে প্রেরণ করা হয় (যার অর্থ সেশন_আইডি প্রতিটি পৃষ্ঠায় সংযোজন করা প্রয়োজন ( hello.php?sid=cbe709ac7bed98f7ecb89713)
মাদারার ঘোস্ট

অ্যান্ড্রয়েড বা আইফোন ডিভাইসে ঘনিষ্ঠ ব্রাউজারটির অর্থ কী? অ্যাপ বন্ধ করবো? ডিভাইস বন্ধ? সমস্ত ট্যাব বন্ধ করে প্রস্থান করবেন? ইত্যাদি
Vandervals

4
@ সুরজজাইন কুকিজ "মনে রাখবেন না" যদি তা না হয়, তবে এটি দীর্ঘস্থায়ী হয়।
মাদারার ঘোস্ট

4
অন্যান্য প্রশ্ন: যখন ব্যবহারকারী ব্রাউজারটি বন্ধ করে দেয়, সার্ভারটি এই ইভেন্টটি দ্বারা কীভাবে বিজ্ঞপ্তি পায় যাতে সার্ভারটি এই সেশন আইডিটি মুছে দেয়? বা কিছু সময়ের পরে এটি স্বয়ংক্রিয়ভাবে শেষ হয়ে যায়?
ব্যবহারকারী 2774480
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.