कुकी "सुरक्षित" ध्वज कैसे काम करता है?


101

मुझे पता है कि secureध्वज के साथ एक कुकी को अनएन्क्रिप्टेड कनेक्शन के माध्यम से नहीं भेजा जाएगा। मुझे आश्चर्य है कि यह कैसे गहराई से काम करता है।

यह निर्धारित करने के लिए कौन ज़िम्मेदार है कि कुकी को भेजा जाएगा या नहीं?

जवाबों:


91

क्लाइंट इसे केवल एन्क्रिप्टेड कनेक्शन के लिए सेट करता है और इसे RFC 6265 में परिभाषित किया गया है :

सुरक्षित विशेषता कुकी के दायरे को "सुरक्षित" चैनल (जहां "सुरक्षित" उपयोगकर्ता एजेंट द्वारा परिभाषित किया गया है) तक सीमित करता है। जब कुकी में सुरक्षित विशेषता होती है, तो उपयोगकर्ता एजेंट कुकी को HTTP अनुरोध में केवल तभी शामिल करेगा जब अनुरोध एक सुरक्षित चैनल (आमतौर पर HTTP ओवर ट्रांसपोर्ट लेयर सिक्योरिटी (TLS) [RFC2818]) पर प्रसारित हो।

यद्यपि सक्रिय नेटवर्क हमलावरों से कुकीज़ की सुरक्षा के लिए उपयोगी प्रतीत होता है, लेकिन सुरक्षित विशेषता केवल कुकी की गोपनीयता की रक्षा करती है। एक सक्रिय नेटवर्क हमलावर एक सुरक्षित चैनल से सुरक्षित कुकीज़ को अधिलेखित कर सकता है, उनकी अखंडता को बाधित कर सकता है (अधिक विवरण के लिए धारा 8.6 देखें)।


4
यदि ग्राहक-पक्ष के पास अभी तक कुकी नहीं है और उन्हें सर्वर-साइड (जैसे लॉगिंग इन) सर्वर-साइड से भेजा जाना चाहिए, तो क्या प्रतिक्रिया में कुकी को शामिल करने का निर्णय लिया जाएगा?
टेड

3
सर्वर शुरू में "सेट-कुकी हेडर" के माध्यम से कुकीज़ सेट करता है
इवान

49

इस विषय पर बस एक और शब्द:

Omitting secureक्योंकि आपकी वेबसाइट example.comपूरी तरह से https है पर्याप्त नहीं है।

यदि आपका उपयोगकर्ता स्पष्ट रूप से पहुंच रहा है http://example.com, तो उन्हें पुनर्निर्देशित किया जाएगा, https://example.comलेकिन यह पहले ही बहुत देर हो चुकी है; पहले अनुरोध में कुकी शामिल थी।


6
मुझे पता है कि यह पुराना है, लेकिन एचएसटीएस प्रीलोड इस समस्या को अक्सर होने से रोककर इस स्थिति में मदद करता है। यह अभी भी 100% ठीक नहीं है, लेकिन इसकी सिर्फ एक और बात पर विचार करें कि क्या आप वास्तव में सुरक्षित कुकी से बचना चाहते हैं।
श्री मोनोक्रोम

5
@ Mr.MonoChrome आप सुरक्षित कुकी से क्यों बचना चाहेंगे?
13

@ Mr.MonoChrome हालांकि कुछ पुराने या निम्न कल्पना ब्राउज़र, मेरा मानना ​​है कि, HSTS का समर्थन नहीं करते हैं
Oldboy

1
अच्छी बात। .NET अनुप्रयोगों के लिए यह IIS (या web.config) में रीडायरेक्ट करने के बजाय प्रोग्रामेटिक रूप से करना बेहतर है (उदाहरण के लिए globals.asax)
piris

इसलिए यदि आप http से https में पुनर्निर्देशित नहीं कर रहे हैं, और केवल https पर सेवा कर रहे हैं, तो आपको आवश्यकता नहीं होगी secure?
ब्रेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.