কুকি বনাম সেশন বনাম jwt


12

আমি ওয়েব অ্যাপ্লিকেশনগুলিতে প্রমাণীকরণ / অনুমোদনের বিষয়ে পড়ছি। আমার বর্তমান জ্ঞানটি কেউ কি নিশ্চিত / সংশোধন করতে পারবেন?

  • কুকিজ: তাদের প্রথম সংস্করণে, একটি অনন্য ক্লায়েন্ট আইডি সহ একটি পাঠ্য ফাইল ক্লায়েন্ট সম্পর্কে প্রয়োজনীয় সমস্ত অন্যান্য তথ্য (যেমন ভূমিকা)

  • অধিবেশন: কেবল অনন্য ক্লায়েন্ট আইডি একটি ফাইলে প্রেরণ করা হয় (কুকিও বলা হয়), সার্ভারে সমস্ত কিছু সঞ্চিত রয়েছে

  • জেডব্লিউটি: সমস্ত কিছু টোকেনে সংরক্ষণ করা হয় (এটি কোনও পাঠ্য ফাইলেও সংরক্ষণ করা যেতে পারে, যা কুকিও বলে)

কোন প্রতিক্রিয়া জন্য ধন্যবাদ!

উত্তর:


12

কুকিজ: তাদের প্রথম সংস্করণে, একটি অনন্য ক্লায়েন্ট আইডি সহ একটি পাঠ্য ফাইল ক্লায়েন্ট সম্পর্কে প্রয়োজনীয় সমস্ত অন্যান্য তথ্য (যেমন ভূমিকা)

কুকিগুলি ক্লায়েন্ট ক্রিয়াকলাপ সম্পর্কিত ডেটা ধরে রাখতেkey-value মূলত সম্বোধন করা হয় up এই ধারণাকে আমরা অধিবেশন বা প্রয়োগের স্থিতি হিসাবে জানি । মূলত, এগুলি ওয়েব অ্যাপ্লিকেশনগুলির রাজ্য ধরে রাখার জন্য করা হয়েছিল; আরও নির্দিষ্টভাবে, ক্লায়েন্টের পাশে রাষ্ট্র- (1)

কুকিজ সাধারণত প্রতিক্রিয়া শিরোনাম ( Set-Cookie key=value) এর মাধ্যমে সার্ভার দ্বারা সেট করা হয় । তবে এগুলি ক্লায়েন্ট দ্বারাও সেট করা যেতে পারে। উদাহরণস্বরূপ, ডিওএম ( document.cookie) দ্বারা।

কুকিজ সম্পর্কে একটি গুরুত্বপূর্ণ বিষয় হ'ল তারা ব্যবহারকারীদের সনাক্ত করতে পারে না। তারা বরং টের্নার ডেটা - ক্লায়েন্ট - সার্ভার / পাথের সাথে সংযুক্ত করে(3)

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

অধিবেশন: কেবল অনন্য ক্লায়েন্ট আইডি একটি ফাইলে প্রেরণ করা হয় (কুকিও বলা হয়), সার্ভারে সমস্ত কিছু সঞ্চিত রয়েছে।

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

যে কোনও ক্ষেত্রে, একটি সেশন আইডি অগত্যা কোনও ব্যবহারকারীকে সনাক্ত করে না। এটি একটি ওয়েব ক্লায়েন্টের সাথে একটি নির্দিষ্ট অ্যাপ্লিকেশন রাষ্ট্রকে যুক্ত করে। সেশনে ব্যবহারকারীর ডেটা থাকতে পারে বা নাও থাকতে পারে।

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

সুরক্ষা সম্পর্কে। সার্ভার-সাইড সেশনগুলি ক্লায়েন্ট-সাইডের চেয়ে নিরাপদ। গ্রাহকরা হুমকির জন্য আরও ঝুঁকির কারণ ব্যবহারকারীরা যে সমস্ত হুমকির মুখোমুখি হন সে সম্পর্কে সাধারণত অজানা। কমপক্ষে নিয়মিত ব্যবহারকারী নয় not

অন্যদিকে, একটি সার্ভার-সাইড অবকাঠামো আক্রমণ করা সফল নয়।

জেডব্লিউটি: সমস্ত কিছু টোকেনে সংরক্ষণ করা হয় (এটি কোনও পাঠ্য ফাইলেও সংরক্ষণ করা যেতে পারে, যা কুকিও বলে)

আসলে তা না. জেডাব্লুটিটি মূলত অনুমোদনের সাথে সম্পর্কিত এবং টোকেন সরবরাহকারী সম্পর্কিত ডেটা সঞ্চয় করে।

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

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

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


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

2: সার্ভার-সাইড অ্যাপ্লিকেশনটিকে রাষ্ট্রীয় অ্যাপ্লিকেশন হিসাবে রূপান্তর করা ।

3: অ্যাপ্লিকেশন হিসাবে ক্লায়েন্ট, ব্যবহারকারীর হিসাবে নয়।


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

7

কুকিজ: তাদের প্রথম সংস্করণে, একটি অনন্য ক্লায়েন্ট আইডি সহ একটি পাঠ্য ফাইল ক্লায়েন্ট সম্পর্কে প্রয়োজনীয় সমস্ত অন্যান্য তথ্য (যেমন ভূমিকা)

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

কুকি এক্সচেঞ্জের উদাহরণ উদাহরণ:

এখানে চিত্র বর্ণনা লিখুন

অধিবেশন: কেবল অনন্য ক্লায়েন্ট আইডি একটি ফাইলে প্রেরণ করা হয় (কুকিও বলা হয়), সার্ভারে সমস্ত কিছু সঞ্চিত রয়েছে

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

জেডব্লিউটি: সমস্ত কিছু টোকেনে সংরক্ষণ করা হয় (এটি কোনও পাঠ্য ফাইলেও সংরক্ষণ করা যেতে পারে, যা কুকিও বলে)

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


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

1
স্থানীয় স্টোরেজ সম্পর্কিত পল এটি ক্লায়েন্টের উপর নির্ভর করে। সমস্ত ক্লায়েন্ট নয় এবং সর্বাধিক ব্যবহৃত ক্লায়েন্টের সমস্ত সংস্করণ ওয়েব স্টোরেজ সমর্থন করে না। এখানে একবার দেখুন । তারা হন, বাঞ্ছনীয় টোকেন মৌসুমি করতে । তবে, যদি আমাদের ক্লায়েন্টরা স্থানীয় সঞ্চয়স্থান সমর্থন করে না; এইচটিপোনালি কুকিজ + এসএসএল + ক্লায়েন্ট ফিঙ্গারপ্রিন্টগুলি আমাদের মোটামুটি সুরক্ষিত বাস্তবায়ন সরবরাহ করে।
লাইভ

@ লাইভ আমি আপনার সাথে একমত নই; স্যামুয়েল বলেছিলেন যে "টোকেনটি একটি কুকিতে সংরক্ষণ করা হয়েছে" এবং আমি কেবল পর্যবেক্ষণ করার চেষ্টা করছিলাম যে এটি সবসময় হয় না।
পল

@ পল আমি "... একটি কুকিতে সংরক্ষণ করা যেতে পারে" পড়তে পরিবর্তিত হয়েছি
স্যামুয়েল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.