2009-08-15 16 views
17

सुरक्षा और सुविधा के संबंध में कुकीज़ जो PHP या जावास्क्रिप्ट को बेहतर बनाती हैं?कुकीज़ - PHP बनाम जावास्क्रिप्ट

+14

मुझे नहीं पता था कि HTTP कुकीज़ विभिन्न स्वादों में आई थी। –

+3

@ ग्रेग, वास्तव में यह करता है :)। एक कुकी 2 विनिर्देश है। हालांकि ओपेरा द्वारा समर्थित है। –

+2

कुकीज़ और सुरक्षा एक ही वाक्य में कभी नहीं जाती है। –

उत्तर

33

वे वही हैं, दोनों मामलों में कुकी ब्राउज़र पर भेजी जाती है, वहां संग्रहित होता है और ब्राउज़र इसे तब तक वापस भेजता है जब तक कि यह समाप्त हो जाता है या हटा दिया जाता है।

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

वहाँ हमेशा याद करने के लिए जब आप कुकी का उपयोग पाँच बातें हैं: - आप अपनी सामग्री भरोसा नहीं कर सकते
2 -
1 आप कल्पना नहीं कर सकते कि यह अभी भी अगले अनुरोध पर किया जाएगा
3 - आप अपनी सामग्री भरोसा नहीं कर सकते
4 - आप कल्पना नहीं कर सकते उपयोगकर्ता पहले कभी नहीं आए, तो यह वहाँ
5 नहीं है - आप अपनी सामग्री भरोसा नहीं कर सकते

यदि आप इसे प्राप्त करते हैं, तो PHP या जावास्क्रिप्ट से कुकी तक पहुंच केवल एक प्रश्न है जो आपके लिए अधिक सुविधाजनक है।

+3

यदि आपको लगता है कि कुकीज़ सुरक्षित हैं, तो आपको फ़ायरफ़ॉक्स के लिए इस प्लगइन को देखना चाहिए -> https://addons.mozilla.org/en-US/firefox/addon/573 – MiffTheFox

7

'php' कुकी या 'जावास्क्रिप्ट' कुकी जैसी कोई चीज़ नहीं है।

एक कुकी एक कुकी है एक कुकी है। आयात की बात यह है कि आप इसमें क्या स्टोर करते हैं। तो, आप उनमें क्या भंडारण कर रहे हैं?

+4

कोई PHP या जावास्क्रिप्ट कुकीज़ नहीं हैं, लेकिन HTTP केवल कुकीज़ हैं, जो केवल PHP सेट कर सकते हैं। –

+0

रेशमी मैं इस तथ्य से अवगत हूं लेकिन मैं पेशेवरों और विपक्षों के बारे में जानना चाहता हूं जो पीएचपी या जेएस – mkamthan

+0

में कुकीज़ के कार्यान्वयन के बारे में जानना चाहते हैं, इससे कोई फर्क नहीं पड़ता, (केवल चर्चा के रूप में केवल एचटीपी के संबंध में)। जैसा कि मैंने कहा, यह महत्वपूर्ण है कि आप इसमें क्या डाल रहे हैं। जहां आप इसे सेट करते हैं इससे कोई फर्क नहीं पड़ता। –

0

वे वही हैं, जब आप PHP पर setcookie() को कॉल करते हैं, तो यह एक HTTP शीर्षलेख भेजता है जिसे ब्राउज़र द्वारा किसी दिए गए जीवनकाल के लिए कुकी स्टोर करने के लिए व्याख्या किया जाता है। जावास्क्रिप्ट के साथ भी यही होता है।

5

वैसे मैं सुरक्षा गुरु नहीं हूं, लेकिन एक बात निश्चित रूप से है। यदि आप उन्हें जावास्क्रिप्ट में सेट करते हैं, क्योंकि यह फ्रंट-एंड है, तो उपयोगकर्ता यह देखेगा कि आप अपनी कुकीज को कैसे पढ़ते हैं और लिखते हैं और आपने उन्हें क्या रखा है, जिसका अर्थ है कि उसका नेतृत्व है। PHP में ऐसा करने पर, उसे दिखाएगा कि आप उन्हें कैसे पढ़ रहे हैं और उन्हें लिख रहे हैं और आप उनके साथ क्या कर रहे हैं।

+2

अंतिम उपयोगकर्ता कुकी को किसी भी तरह से देख सकता है – Lepidosteus

+0

यह * अभी भी मूल्य दिखाएगा, और एक बुद्धिमान उपयोगकर्ता शायद वैसे भी काम कर सकता है, जब तक कि यह न हो एन्क्रिप्टेड (नहीं, बेस 64 गिनती नहीं है), या हैश/सत्रिड की तरह कुछ समझदार नहीं है। –

+0

हां, वह इसे देख सकता है, लेकिन अगर यह एन्क्रिप्ट किया गया है या कुछ है, तो वह नहीं देख पाएगा कि यह कैसे बनाया गया है। – treznik

6

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

तो, जिन उपयोगकर्ताओं के पास HTTPOnly कुकीज़ का समर्थन करने वाला ब्राउज़र है, वे XSS हमलों के खिलाफ बेहतर संरक्षित होंगे।

0

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

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