2015-11-16 3 views
5

मेरे पास एक django ऐप है। उस ऐप में 2 मुख्य कुकीज़ हैं जो सर्वर से लौटाई जाती हैं (csrftoken और sessionid)। मैंने अपनी सेटिंग्स.py फ़ाइल में SESSION_COOKIE_SECURE और CSRF_COOKIE_SECURE फ़्लैग को सही पर सेट किया है, और यदि मैं अपने ऐप में लॉगिन करने के प्रारंभिक अनुरोध की जांच करता हूं तो मुझे लगता है कि उन दोनों कुकीज में सर्वर से प्रतिक्रिया में "सुरक्षित" ध्वज सेट है।कुकीज़ का "अनुरोध" सुरक्षित फ़्लैग सेट होना चाहिए?

जब मैं अपने ऐप में कुकीज़ की जांच कर रहा हूं, तो मुझे लगता है कि "अनुरोध कुकीज़" और "प्रतिक्रिया कुकीज़" हैं। "प्रतिक्रिया कुकीज़" वे हैं जिनके झंडे सेट हैं। अनुरोध कुकीज़ नहीं है।

मेरा प्रश्न: क्या "अनुरोध कुकीज" को सुरक्षित फ़्लैग सेट करने के लिए मजबूर करने का कोई तरीका है? क्या यह भी एक सुरक्षा चिंता है? मेरा एप्लिकेशन यातायात https से अधिक है, इसलिए ब्राउज़र और सर्वर के बीच के सभी कनेक्शन पहले से ही एन्क्रिप्ट किए जाएंगे ...

उत्तर

3

यह वास्तव में इस तरह से काम नहीं करता है ... झंडे केवल Set-Cookie शीर्षलेख में मौजूद हैं (प्रतिक्रिया)।

जब ग्राहक (एक ब्राउज़र) एक Set-Cookie हैडर प्राप्त करता है, यह झंडे एक साथ कुकी मूल्य के साथ संगृहीत करेंगे, लेकिन केवल अपने स्वयं के उपयोग के लिए (ताकि ब्राउज़र ही पता कर सकते हैं कि कब और कहाँ कुकी भेजने का यदि आवश्यक हो तो मूल्य)।

Cookie शीर्षलेख (अनुरोध) में झंडे नहीं हो सकते हैं; यह केवल <cookie-name>=<cookie-value> जोड़े की एक सूची है और जब आप (सर्वर) उन्हें प्राप्त करते हैं, तो आप उन्हें स्वयं सेट करने की भी गारंटी नहीं देते हैं।
ऐसा इसलिए है क्योंकि किसी भी डोमेन नाम के तहत एप्लिकेशन उस डोमेन के लिए कुकीज़ सेट कर सकता है। उदाहरण के लिए, example.com/foo पर चल रहे एक एप्लिकेशन example.com/bar, या यहां तक ​​कि के लिए भी कुकी सेट करने में सक्षम होगा .example.com

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

अफसोस की बात है कि यह कुकीज़ कैसे काम करती है। यदि आप उनके बारे में अधिक जानने में रुचि रखते हैं तो उनके लिए आधिकारिक मानक here पढ़ें।

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