2010-12-18 35 views
19

हाय मैं php session और cookiePHP में सत्र और कुकी के बीच क्या अंतर है?

+7

@ बोल्टक्लॉक हाँ, हमें निश्चित रूप से निर्दोष शुरुआती लोगों पर वास्तव में अपने कम आत्म सम्मान को बढ़ावा देने के लिए उस सनकी संवेदनात्मक स्वर को और अधिक देखने की आवश्यकता है। – KJW

+0

संभावित डुप्लिकेट [PHP में सत्र और कुकीज़ के बीच क्या अंतर है?] (Http://stackoverflow.com/questions/6339783/what-is-the-difference-between- सत्र-and-cookies-in-php) – Quentin

+0

@ कुकी बनाम सत्र http://www.codingslover.com/2015/04/difference-between-cookies-and-sessions.html – Elangovan

उत्तर

8

के बीच अंतर जानना चाहता हूं एक कुकी क्लाइंट पक्ष पर संग्रहीत डेटा का ~ टुकड़ा है। सत्र में संग्रहीत डेटा सर्वर की तरफ संग्रहीत किया जाता है, और विभिन्न सत्र कुकीज़ द्वारा पहचाने जाते हैं।

3

एक कुकी एक अनूठी जानकारी है जिसे उपयोगकर्ता प्रत्येक अनुरोध के साथ वेब सर्वर को पहचानने के लिए भेजता है। इस अद्वितीय आईडी को सर्वर (सत्र) पर इस विशिष्ट उपयोगकर्ता के बारे में जानकारी संग्रहीत करने के लिए उपयोग किया जा सकता है।

26

मुख्य अंतर यह है कि सत्र डेटा सर्वर पर संग्रहीत किया जाता है, जबकि कुकी डेटा क्लाइंट पर संग्रहीत किया जाता है। इसलिए, एक ग्राहक कुकी सामग्री को आसानी से संशोधित कर सकता है, लेकिन सत्र सामग्री को संशोधित करने के लिए कठिन तरीके से काम करना होगा।

+11

इस विषय के बारे में कुछ और नहीं: सर्वर द्वारा सत्र प्रबंधन लगभग हमेशा कुकीज़ पर भरोसा करता है। एक सत्र कुकी सर्वर और क्लाइंट के बीच पारित हो जाती है। – clide313

15

कुकीज़ अंतिम उपयोगकर्ता के ब्राउज़र में जानकारी संग्रहीत करने का माध्यम हैं, ताकि सर्वर अंतिम उपयोगकर्ता को ट्रैक कर सके।

सत्र कुकीज़ का उपयोग करके भी लागू किए जाते हैं, लेकिन वास्तविक डेटा ब्राउज़र में नहीं है; बल्कि, यह सर्वर पर उपयोगकर्ता के सत्र रिकॉर्ड में संग्रहीत है। सत्रों के मामले में, कुकीज का उपयोग सर्वर रिकॉर्ड्स पर एक विशेष अंत उपयोगकर्ता के सत्र पहचानकर्ता की पहचान के लिए किया जाता है। इसलिए, वे उपयोगकर्ता की जानकारी संग्रहीत करने का एक और अधिक सुरक्षित तरीका हैं।

5

एक कुकी अक्सर उपयोगकर्ता की पहचान करने के लिए उपयोग की जाती है। कुकी एक छोटी फ़ाइल है जो सर्वर उपयोगकर्ता के कंप्यूटर पर एम्बेड होती है। प्रत्येक बार एक ही कंप्यूटर ब्राउज़र के साथ एक पृष्ठ का अनुरोध करता है, यह कुकी भी भेज देगा।

एक सत्र चर का उपयोग उपयोगकर्ता सत्र के लिए जानकारी संग्रहीत करने या बदलने के लिए किया जाता है। सत्र चर के एक एकल उपयोगकर्ता के बारे में जानकारी है, और एक आवेदन में सभी पृष्ठों के लिए उपलब्ध हैं।

+0

हालांकि डेटा उपलब्ध कराने के लिए आपको session_start कॉल करने की आवश्यकता है। – Belinda

+1

-1 क्योंकि यह वास्तव में मतभेदों के बारे में कुछ भी नहीं कहता है। आपके विवरण से, सत्र चर भी कुकीज़ में संग्रहीत किया जा सकता है (जो वे नहीं हैं)। –

0

कुकीज क्लाइंट साइड संग्रहित करता है लेकिन सत्र सर्वर सर्वर संग्रहीत करता है।

कुकीज़ आपके ईमेल खाते से साइन आउट किए बिना हैं और इसे बंद करें। एक बार फिर उपयोगकर्ता नाम और पासवर्ड दर्ज नहीं कर सकता है लेकिन आपका ईमेल खाता खुला है।

सत्र करीब वेबपेज एक बार फिर से अंतर शर्त वर्णन करने के लिए

+2

-1 क्योंकि यह समझ में नहीं आता है। आपको अपने बहुत सारे उत्तर को स्पष्ट करने की आवश्यकता होगी। उदाहरण के लिए, इसका क्या अर्थ है: 'कुकीज़ आपके ईमेल खाते से साइन आउट किए बिना है और इसे बंद करें'? –

0

सबसे अच्छा उदाहरण शुरू करने पेज appier लिए खुला है। सत्र और कुकीज़ है: - जब आप किसी भी साइट यह सत्र बनाता है जब तक आप लॉग आउट ... सत्र है कि में एक सदस्य के रूप में लॉगिन ..

और कुकीज़ जब आप वेबसाइटों को ब्राउज़ जिनमें आप कंप्यूटर के मुख्य मेमोरी पर जमा हो जाती कि कुकीज़

है

यानी सत्र सर्वर साइड है और कुकी क्लाइंट साइड

+0

आप प्रत्येक के स्थान में अंतर जानते हैं, लेकिन आपका उदाहरण अच्छा नहीं है – PatomaS

0

हम सामान्य रूप में तीन मतभेद हो गया है। कुंजी अंतर कुकीज़ पक्षों को क्लाइंट साइड में संग्रहीत किया जाएगा और सत्र सर्वर पक्ष में संग्रहीत किए जाते हैं। दूसरा अंतर कुकीज़ केवल स्ट्रिंग स्टोर कर सकता है। हम सत्रों में अपनी वस्तुओं को स्टोर कर सकते हैं। सत्रों में वस्तुओं को संग्रहीत करना मेरे अनुभव के अनुसार वास्तव में उपयोगी था। एक और अंतर यह था कि हम भविष्य के संदर्भ के लिए कुकी को बचा सकते हैं, लेकिन सत्र नहीं हो सका। जब उपयोगकर्ता अपने ब्राउज़र को बंद करते हैं, तो उन्होंने सत्र भी खो दिया।

+0

-1: ब्राउज़र बंद करने के बाद सत्र खोया नहीं जा सकता है, php.ini में 'session.cookie_lifetime' और 'session.gc_maxlifetime' सेटिंग्स देखें। ऑब्जेक्ट्स धारावाहिक (यानी पाठ) रूप में सत्रों में संग्रहीत होते हैं [यहां देखें] (http://php.net/manual/en/intro.session.php) और कुकीज़ के लिए एक ही तकनीक का उपयोग किया जा सकता है। –

4

सत्र और कुकीज़ हैं, दोनों का उपयोग मूल्य या डेटा को स्टोर करने के लिए किया जाता है। लेकिन सत्र और कुकी के बीच कुछ महत्वपूर्ण अंतर हैं: एक कुकी आपके ब्राउज़र में डेटा संग्रहीत करती है और सर्वर पर एक सत्र संग्रहीत किया जाता है।ब्राउजर को बंद करने के बाद ब्राउजर रन के लिए उपलब्ध समाप्ति तिथि और सत्र डेटा तक कुकी डेटा आपके ब्राउजर में उपलब्ध है, हम सत्र की जानकारी खो देंगे।

+3

यह ध्यान रखना महत्वपूर्ण है कि सत्र डेटा को इंगित करने वाली आईडी कंप्यूटर पर कुकी में संग्रहीत होती है। –

1

कुकीज़ केवल समाप्ति समय पर समाप्त हो जाएगी या यदि आप स्पष्ट रूप से अपने ब्राउज़र की कुकी/कैश साफ़ करते हैं। अगले दिन अपना ब्राउज़र खोलने के बाद भी कुकीज़ सिस्टम में रखेगी। कुकीज़ क्लाइंट के सिस्टम पर संग्रहीत हैं ताकि वे कम सुरक्षित हों।

सत्र समाप्त होने पर या ब्राउज़र बंद होने पर समाप्त हो जाएगा। सत्र के रूप में सर्वर पर संग्रहीत किया जाता है, इसलिए यह अधिक सुरक्षित है।

एक लॉगिन मॉड्यूल के लिए

तो,

-1

कुकी इस्तेमाल किया जाना चाहिए सत्र और कुकी का एक संयोजन - ब्राउज़र में संग्रहीत डेटा और ब्राउज़र से संबंधित और क्लाइंट साइड पर काम करेंगे केवल ... उदाहरण के लिए आप लॉग इन करने की कोशिश कर रहे हैं, तो उपयोगकर्ता नाम और पासवर्ड के साथ जीमेल खाते में, लॉगिन दर्ज करने के बाद, यदि आप वर्तमान टैब को बंद करते हैं और कभी-कभी उसी पृष्ठ को खोलने के बाद लॉगिन पेज नहीं आएगा तो यह सीधे लॉगिन विवरण के साथ खुल जाएगा .. यह कुकी है ..

सत्र - सर्वर पक्ष में संग्रहीत डेटा उदाहरण के लिए लॉग इन विवरण दर्ज करने के बाद कुकी उदाहरण के समान ही आपको ब्राउजर को बंद करने के बाद अधिसूचना मिल जाएगी, फिर कुछ समय बाद इसे फिर से पूछेगा

0

पीएचपी सत्र

विवरण में (और उदाहरण खरीदारी भी) पीएचपी बिल्ट-इन कार्य किया है सत्र चर को बचाने के लिए। वेरिएबल्स राज्य फ़ाइलों में संग्रहीत हैं। इन राज्य फ़ाइलों को स्पष्ट रूप से बनाए और प्रबंधित नहीं किया जाना चाहिए। सत्र चर के मूल्यों को सहेजने और पुनर्प्राप्त करने के लिए निम्न चरण निम्न हैं।

किसी भी मुद्रित आउटपुट से पहले setcookie() कमांड जारी किया जाना चाहिए क्योंकि कुकी को HTTP शीर्षलेख के हिस्से के रूप में लिखा जाना चाहिए। PHP स्वचालित रूप से किसी भी HTTP_COOKIE स्ट्रिंग को एक सहयोगी सरणी $ _COOKIE में पार्स करता है। कुकी का मान इस प्रकार कुकी से प्राप्त किया जा सकता है:

$ _COOKIE [ "some_var"]

2

एक सत्र और एक कुकी के बीच मुख्य अंतर यह है कि सत्र डेटा सर्वर पर संग्रहीत है, जबकि कुकीज़ की दुकान है आगंतुक के ब्राउज़र में डेटा। सत्र किसी विशेष उपयोगकर्ता के सत्र डेटा का पता लगाने के लिए सत्र पहचानकर्ता का उपयोग करते हैं। यह सत्र पहचानकर्ता आमतौर पर कुकी में उपयोगकर्ता के वेब ब्राउज़र में संग्रहीत होता है, लेकिन संवेदनशील डेटा जिसे अधिक सुरक्षित होने की आवश्यकता होती है - जैसे उपयोगकर्ता की आईडी, नाम इत्यादि - हमेशा सर्वर पर रहती है।

0

कुकी: उपयोगकर्ता की ब्राउज़र द्वारा संग्रहीत एक कुंजी/मूल्य जोड़ी और PHP में उपलब्ध सुपरग्लोबल $ _COOKIE सरणी में उपलब्ध है। कुकी अनुरोध को स्पष्ट रूप से परिभाषित समाप्ति तिथि के साथ शुरू किया गया है। उदाहरण के लिए:

setcookie ('cookieName', $ some_value, समय() + 3600, "/", ".example.com")

अगले सर्वर अनुरोध पर, $ _COOKIE [ 'cookieName'] उपलब्ध होगी। यदि आप कुकी को देखने के लिए ब्राउज़र टूल का उपयोग करते हैं, तो इसकी समाप्ति तिथि होगी।

सत्र कुकी: उपर्युक्त के समान लेकिन एक समाप्ति तिथि के बिना परिभाषित किया गया। यदि आप एक ही ब्राउज़र टूल का उपयोग करते हैं तो यह कहेंगे कि कुकी सत्र के अंत में समाप्त हो जाती है; आखिरकार जब आप अपना ब्राउज़र बंद करते हैं। उदाहरण के लिए:

सेटकुकी ('कुकी नाम', $ some_value);

PHP सत्र: एक सर्वर साइड तंत्र जो सत्र आईडी के साथ डेटा का एक गुच्छा संबद्ध करेगा।हर बार एक सत्र लागू किया जाता है, यह इसे serializes/unserializes। यह केवल एक ही कुंजी/वैल्यू जोड़ी से अधिक डेटा हो सकता है जो एक कुकी का समर्थन करता है, लेकिन उपयोगकर्ता के साथ इस डेटा को जोड़ने का तरीका एक कुकी (नियमित रूप से वर्णित सत्र या ऊपर वर्णित सत्र) बनाकर होता है जिसमें सत्र आईडी होता है। इस तरह, उस कुकी के मूल्य के आधार पर किसी दिए गए उपयोगकर्ता के लिए सही डेटा पुनर्प्राप्त किया जा सकता है।

संबंधित मुद्दे