2010-04-01 18 views

उत्तर

24

HTTP Cookies PHP की सुविधा नहीं है, न ही जावास्क्रिप्ट की एक विशेषता है: वे केवल प्रोग्रामिंग भाषाएं हैं जो डेवलपर को इन्हें कुशल बनाने की अनुमति देती हैं।

  • जावास्क्रिप्ट ग्राहक के पक्ष
  • पीएचपी सर्वर साइड

लेकिन कुकीज़ अभी भी वही कर रहे हैं पर चलता है पर चलता है:


जे एस और PHP बीच सबसे बड़ा अंतर यह है कि: उन्हें मानक के रूप में परिभाषित किया जाता है - RFC 2965 देखें।


फिर भी, ध्यान दें कि आधुनिक ब्राउज़रों कुकीज़ है कि जावास्क्रिप्ट से सुलभ नहीं हैं लागू (setcookie की httponly विकल्प देखें) - जिसका अर्थ है कि, ब्राउज़र, और जिस तरह से एक कुकी स्थापित किया गया था पर निर्भर करता है, यह जावास्क्रिप्ट से सुलभ नहीं हो सकता है।

यह एक सुरक्षा उपाय है - और "js कुकीज़" और "php कुकीज़" के बीच एक अंतर नहीं है: यह सिर्फ कुछ कुकीज़ का एक गुण है।

+0

और _EditThisCookie_ क्रोम एक्सटेंशन जैसे कुछ मुफ्त ऐड का उपयोग करके क्लाइंट द्वारा 'httponly' संपत्ति को आसानी से बदला जा सकता है। – Ankit

1

नहीं, कुकीज़ को RFC spec द्वारा परिभाषित किया गया है।

0

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

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

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

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