सभी लेख

कुकीज़: Secure, HttpOnly और SameSite एट्रिब्यूट क्यों मायने रखते हैं

भारत का डिजिटल पर्सनल डेटा प्रोटेक्शन एक्ट (DPDP Act, 2023) यूरोप के GDPR जैसा कड़ा कुकी-कंसेंट बैनर अनिवार्य नहीं करता, लेकिन यह "डेटा प्रिंसिपल" (यूज़र) की साफ़, सूचित सहमति (consent) की माँग करता है जब भी कोई पर्सनल डेटा प्रोसेस हो रहा हो — और ट्रैकिंग या एडवर्टाइज़िंग कुकी में स्टोर आइडेंटिफ़ायर इसी दायरे में आता है। कानून अभी लागू होने की प्रक्रिया में है, पर इसके नियम (rules) बनने के बाद भारतीय वेबसाइटों के लिए कुकी-कंसेंट फ़्लो एक नई ज़रूरत बनने वाला है।

Secure एट्रिब्यूट

Secure एट्रिब्यूट ब्राउज़र को बताता है कि कुकी सिर्फ़ एन्क्रिप्टेड HTTPS कनेक्शन पर ही भेजे। इसके बिना कुकी सादे HTTP पर खुले टेक्स्ट में जा सकती है — जो मोबाइल डेटा नेटवर्क पर चलने वाले पब्लिक Wi-Fi हॉटस्पॉट में इंटरसेप्शन का ख़तरा बढ़ाता है, जो भारत में आम हैं।

HttpOnly एट्रिब्यूट

HttpOnly से मार्क की गई कुकी ब्राउज़र में JavaScript (document.cookie) से पढ़ी नहीं जा सकती। यह XSS अटैक के ख़िलाफ़ सबसे सीधा डिफ़ेंस है: हमलावर पेज में मैलिशियस स्क्रिप्ट डाल भी दे, तो भी इस एट्रिब्यूट वाली सेशन कुकी नहीं चुरा सकता।

SameSite एट्रिब्यूट

SameSite एट्रिब्यूट यह तय करता है कि क्रॉस-साइट नेविगेशन पर कुकी भेजी जाए या नहीं, और CSRF अटैक के ख़िलाफ़ मुख्य डिफ़ेंस है। Strict क्रॉस-साइट भेजना पूरी तरह रोकता है, Lax — जो आज के सभी बड़े ब्राउज़र में डिफ़ॉल्ट है — लिंक फ़ॉलो करने जैसे सीमित मामलों में इजाज़त देता है, और None यह पाबंदी हटा देता है, पर साथ में Secure भी ज़रूरी बना देता है।

यह क्यों ज़रूरी है

  • अपने वेब ऐप के लिए सुरक्षित सेशन कुकी सेट करना।
  • यह जाँचना कि DPDP Act के तहत आने वाली कंसेंट ज़रूरतों से पहले साइट पर असल में कौन-सी थर्ड-पार्टी कुकी लोड हो रही हैं।
  • यह डिबग करना कि कुछ ख़ास स्थितियों में ब्राउज़र कुकी क्यों स्टोर या नहीं भेज रहा।

Partitioned एट्रिब्यूट और थर्ड-पार्टी कुकी के बिना भविष्य

CHIPS (Cookies Having Independent Partitioned State) पहल के हिस्से के रूप में, Partitioned एट्रिब्यूट किसी <iframe> में एम्बेड की गई साइट को हर पैरेंट साइट के लिए अलग-अलग वर्शन की कुकी रखने देता है, बजाय एक ही शेयर की गई कुकी सबके बीच रखने के। यह पूरी तरह थर्ड-पार्टी कुकी ब्लॉक करने और पुराने क्रॉस-साइट ट्रैकिंग मॉडल के बीच एक बीच का रास्ता है — पेमेंट या चैट जैसे वैध एम्बेडेड विजेट काम करते रहते हैं, पर अलग-अलग साइट के बीच ट्रैकिंग की इजाज़त नहीं होती।

टूल आज़माएँ