2011-12-17 32 views
6

इंटरनेट एक्सप्लोरर में, उदाहरण के लिए, आप पहली पार्टी कुकीज़, तृतीय पक्ष कुकीज़ सक्षम कर सकते हैं और सत्र कुकीज़ को अनुमति दे सकते हैं।सत्र कुकी अन्य प्रकार की कुकीज़ बनाम

  • एक प्रथम पक्ष कुकी और एक तीसरी पार्टी कुकी, और
  • एक PHP सत्र और एक कुकी:

    मैं के बीच अंतर पता है।

लेकिन सत्र कुकी क्या है? और आप PHP का उपयोग करके एक कैसे सेट कर सकते हैं?

उदाहरण के लिए, आप कुकीज़ सक्षम किए बिना फेसबुक में लॉग इन नहीं कर सकते हैं। हालांकि, अगर आप सत्र कुकीज़ की अनुमति देते हैं, तो आप फेसबुक में लॉग इन कर सकते हैं।

तो, सत्र कुकी अन्य प्रकार की कुकीज़ से अलग कैसे होती है?

+0

शुरू करने के लिए एक जगह [\ [सत्र-कुकीज़ \]] (https://stackoverflow.com/tags/session-cookies/info) टैग के लिए जानकारी पृष्ठ है। – DavidRR

उत्तर

5

एक कुकी का जीवन भर होता है, जिसके बाद यह समाप्त हो जाएगा (जैसा कि Expires निर्देश द्वारा दर्शाया गया है)। यदि आप टाइमआउट सेट नहीं करते हैं, तो ब्राउजर बंद होने पर ब्राउज़र कुकी को समाप्त कर देगा। इसे सत्र कुकी कहा जाता है।

कुकीज़ के इन प्रकार अक्सर सर्वर साइड पर एक उपयोगकर्ता वर्तमान सत्र राज्य (उदाहरण के लिए php के सत्र) ट्रैक करने के लिए उपयोग किया जाता है, लेकिन वहाँ शब्द "सत्र"

+0

यह प्रश्न मुझे भी रूचि देता है। क्या आपका मतलब है कि कुकी में कुछ खास नहीं है जिसने इसे सत्र कुकी के रूप में पहचाना है? एक विशेष खोजशब्द या कुछ? (उत्तर मिला: एक सत्र कुकी में 'समाप्ति' नहीं है - जिसका अर्थ है कि आपकी परिभाषा पूरी तरह से सही नहीं है) – fge

+0

धन्यवाद troelskn, जो मेरी समस्याओं को हल कर रहा है .. जम्मू का संबंध है ... क्या मैं पूछ सकता हूं ... साइटें फेसबोक इत्यादि की तरह .. उपयोगकर्ता को लॉग इन रखने के लिए php_sessions की बजाय इस प्रकार की सत्र कुकीज़ का उपयोग करें, ताकि सर्वर का कम गहन हो? जे – jon

+0

@ जेन सर्वर साइड स्टेट मैकेनिज्म (जैसे php के सत्र) को आमतौर पर सत्र कुकी के माध्यम से ट्रैक किया जाता है। इसलिए इन मामलों में, सर्वर पक्ष सत्रों के लिए नींव के रूप में सत्र कुकीज़ का उपयोग किया जाता है। वे विकल्प नहीं हैं। – troelskn

3

एक सत्र कुकी अद्वितीय पहचानकर्ता है कि PHP उत्पन्न करता है जब session_start() कहा जाता है, ताकि प्रत्येक ग्राहक को एक सत्र के साथ संबद्ध किया जा सकता है रखती है, और कोई दो सत्रों में एक ही समय में एक ही आईडी हो सकता है।

ब्राउज़र कुकी बंद होने पर सत्र कुकी आमतौर पर नष्ट हो जाती है, या मैन्युअल रूप से session_destroy() का उपयोग करके किया जा सकता है।

+0

मुझे लगता है कि प्रश्न इस बात के संदर्भ में है कि ब्राउजर कुकी को कैसे पहचानता है। आईई संदर्भों पर ध्यान दें। –

1

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

+0

मैं यह नहीं कह रहा कि आप गलत हैं, हालांकि मैं अभी भी PHP सत्रों का उपयोग कर सकता हूं और पहली पार्टी कुकीज़ अक्षम कर सकता हूं और सत्र कुकीज़ की अनुमति नहीं देता ... इसलिए मुझे लगता है कि सत्र पूरी तरह सर्वर-साइड संग्रहीत हैं? ... जे – jon

+0

@jon: वास्तविक सत्र सर्वर-पक्ष संग्रहीत है, लेकिन क्लाइंट पक्ष पर सत्र का संदर्भ है। – Drahcir

+0

धन्यवाद रिचर्ड ... ऐसा इसलिए है क्योंकि कुकी के बिना, आप नहीं जानते कि किस उपयोगकर्ता के लिए सत्र था। – jon

2

से से दो का उपयोग करता है के बीच एक मजबूत संबंध नहीं है Wikipedia:

पुराने परिभाषा:(2011-12-17)

एक सत्र कुकी बनाया कोई निर्देश समय-सीमा समाप्त हो जाती है प्रदान की जाती है जब कुकी बनाई गई है।

नवीनतम परिभाषा:

एक सत्र कुकी, भी रूप में जाना जाता एक में स्मृति कुकी या क्षणिक कुकी, केवल अस्थायी स्मृति में मौजूद उपयोगकर्ता नेविगेट करता है, जबकि वेबसाइट।[18] वेब ब्राउज़र आमतौर पर सत्र कुकीज़ को हटाते हैं जब उपयोगकर्ता ब्राउज़र बंद कर देता है। [19] अन्य कुकीज़ के विपरीत, सत्र कुकीज़ उनके लिए असाइन की गई समाप्ति तिथि नहीं है, इस प्रकार ब्राउज़र उन्हें सत्र कुकीज़ के रूप में व्यवहार करने के बारे में जानता है।

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