आइए इससे गुजरते हैं:
कुकीज़ और सत्र , ब्राउज़र द्वारा किए जाने वाले विभिन्न अनुरोधों के बीच एप्लिकेशन की स्थिति को संरक्षित करने के दोनों तरीके हैं। यह उनके लिए धन्यवाद है, उदाहरण के लिए, आपको हर बार जब आप StackOverflow पर एक पृष्ठ का अनुरोध करने के लिए लॉग इन करने की आवश्यकता नहीं होती है।
कुकीज़
कुकीज़ डेटा के छोटे टुकड़े हैं, (अधिकतम 4KB लंबा), जो डेटा को कुंजी = मान जोड़े में रखता है:
name=value
ये या तो जावास्क्रिप्ट द्वारा या HTTP हेडर का उपयोग करके सर्वर के माध्यम से सेट किए जाते हैं ।
कुकीज़ में एक एक्सपायरी डेटाइम सेट होता है, उदाहरण HTTP हेडर का उपयोग करके:
Set-Cookie: name2=value2; Expires=Wed, 19 Jun 2021 10:18:14 GMT
जिसके कारण ब्राउज़र को एक कुकी के name2
मान के साथ सेट value2
करना पड़ेगा, जो लगभग 9 वर्षों में समाप्त हो जाएगा।
कुकीज़ को अत्यधिक असुरक्षित माना जाता है क्योंकि उपयोगकर्ता आसानी से अपनी सामग्री में हेरफेर कर सकते हैं। इसलिए आपको हमेशा कुकी डेटा को मान्य करना चाहिए । यह मत समझो कि आपको कुकी से जो मिलता है वह जरूरी है कि आप क्या उम्मीद करें।
कुकीज़ आमतौर पर लॉगिन स्थिति को संरक्षित करने के लिए उपयोग किया जाता है, जहां एक उपयोगकर्ता नाम और एक विशेष हैश ब्राउज़र से भेजा जाता है, और सर्वर एक्सेस को अनुमोदित करने के लिए डेटाबेस के खिलाफ जांच करता है।
कुकीज़ का उपयोग अक्सर सत्र निर्माण में भी किया जाता है ।
सत्र
सत्र थोड़े अलग हैं। प्रत्येक उपयोगकर्ता को एक सत्र ID मिलती है , जिसे कुकी के लिए या GET चर द्वारा सत्यापन के लिए सर्वर पर वापस भेजा जाता है ।
सत्र आमतौर पर अल्पकालिक होते हैं, जो अनुप्रयोगों के बीच अस्थायी स्थिति को बचाने में उन्हें आदर्श बनाता है। उपयोगकर्ता द्वारा ब्राउज़र बंद करने के बाद सत्र भी समाप्त हो जाते हैं।
सत्र कुकीज़ से अधिक सुरक्षित माने जाते हैं क्योंकि चर स्वयं सर्वर पर रखे जाते हैं । यहां देखिए यह कैसे काम करता है:
- सर्वर एक सत्र खोलता है (HTTP हेडर के माध्यम से एक कुकी सेट करता है)
- सर्वर एक सत्र चर सेट करता है।
- क्लाइंट पेज बदलता है
- क्लाइंट चरण 1 से सत्र आईडी के साथ सभी कुकीज़ भेजता है।
- सर्वर कुकी से सत्र आईडी पढ़ता है।
- सर्वर किसी डेटाबेस (या मेमोरी आदि) की सूची से सत्र आईडी से मेल खाता है।
- सर्वर एक मैच पाता है, चर पढ़ता है जो अब
$_SESSION
सुपरग्लोबल पर उपलब्ध हैं ।
यदि PHP को एक मैच नहीं मिलता है, तो यह एक नया सत्र शुरू करेगा, और 1-7 से चरणों को दोहराएगा।
आप एक सत्र पर संवेदनशील जानकारी संग्रहीत कर सकते हैं क्योंकि यह सर्वर पर रखा गया है, लेकिन ध्यान रखें कि सत्र आईडी अभी भी चोरी हो सकती है यदि उपयोगकर्ता, मान लें कि असुरक्षित वाईफाई पर लॉग इन किया गया है। (एक हमलावर कुकीज़ को सूँघ सकता है, और इसे अपने रूप में सेट कर सकता है, वह स्वयं चर नहीं देखेगा, लेकिन सर्वर उपयोगकर्ता के रूप में हमलावर की पहचान करेगा)।
यही इसका सार है। आप दोनों विषयों पर PHP मैनुअल पर अधिक जान सकते हैं।