कुकी एनालाइज़र कैसे इस्तेमाल करें
- हर पंक्ति में एक Set-Cookie हेडर पेस्ट करें ("Set-Cookie:" प्रीफ़िक्स ज़रूरी नहीं) या पूरा कच्चा रिस्पॉन्स डाल दें।
- नतीजे लाइव अपडेट होते हैं: कुकी तालिका एट्रिब्यूट, आयु और साइज़ का सार दिखाती है।
- फ़ाइंडिंग पर उच्च से निम्न गंभीरता के क्रम में काम करें; हर एक के साथ सुझाया गया समाधान दिया है।
- मज़बूत किए गए हेडर कॉपी करें और जिन कुकी को स्क्रिप्ट पढ़ती हैं, उनके लिए HttpOnly समायोजित करें।
कुकी एनालाइज़र की खूबियाँ
- किसी भी संख्या में Set-Cookie हेडर पार्स करता है, कच्चे रिस्पॉन्स या curl -i आउटपुट सहित
- हर एट्रिब्यूट समझाता है: Secure, HttpOnly, SameSite, Domain, Path, Expires, Max-Age, Partitioned, Priority
- नियम: SameSite=None के लिए Secure ज़रूरी, __Host-/__Secure- प्रीफ़िक्स की शर्तें, public-suffix डोमेन, अमान्य तारीख़ें, 400 दिन की अधिकतम आयु, 4096 बाइट की साइज़ सीमा
- जो कुकी session, token या CSRF सीक्रेट लगती हैं, उन पर ज़्यादा सख़्त जाँच
- हर कुकी का अपना स्कोर और एक कुल स्कोर, गंभीरता के क्रम में लगी फ़ाइंडिंग के साथ
- कॉपी-पेस्ट के लिए तैयार, मज़बूत बनाए गए Set-Cookie हेडर
कुकी एनालाइज़र का उदाहरण
Secure के बिना एक session कुकी
इनपुट:
Set-Cookie: sessionId=a3f9c2e1b7d4; Path=/; HttpOnlyआउटपुट:
sessionId · Secure: no · HttpOnly: yes · SameSite: (default Lax) · Lifetime: session · Score: 55
High — Missing Secure: the cookie can be sent over plain HTTP and intercepted.
Medium — No SameSite attribute: set it explicitly.
Hardened: Set-Cookie: sessionId=a3f9c2e1b7d4; Path=/; Secure; HttpOnly; SameSite=Laxकुकी एनालाइज़र के बारे में अक्सर पूछे जाने वाले सवाल
__Host- और __Secure- प्रीफ़िक्स क्या हैं?
__Secure- के लिए Secure एट्रिब्यूट ज़रूरी है; __Host- में इसके अलावा Domain मना है और Path=/ अनिवार्य है, जिससे कुकी ठीक एक होस्ट से बँध जाती है। इन नियमों को तोड़ने वाली प्रीफ़िक्स कुकी ब्राउज़र अस्वीकार कर देते हैं।
SameSite=None के लिए Secure क्यों ज़रूरी है?
Secure के बिना SameSite=None वाली कुकी ब्राउज़र गिरा देते हैं। None सिर्फ़ वाजिब cross-site इस्तेमाल के लिए चाहिए, जैसे एम्बेड किए गए विजेट या थर्ड-पार्टी SSO।
कुकी कितनी बड़ी हो सकती है?
नाम, वैल्यू और एट्रिब्यूट मिलाकर लगभग 4096 बाइट प्रति कुकी; ब्राउज़र प्रति डोमेन कुकी की संख्या भी सीमित रखते हैं। session डेटा सर्वर पर रखें और कुकी में सिर्फ़ एक पहचानकर्ता संग्रहित करें।
स्कोर का क्या मतलब है?
100 में से कटौती: हर उच्च गंभीरता की फ़ाइंडिंग पर 30 और हर मध्यम पर 15 अंक। session या auth कुकी को preference कुकी के मुक़ाबले ज़्यादा सख़्ती से आँका जाता है।
क्या मैं पूरा रिस्पॉन्स पेस्ट कर सकता हूँ?
हाँ — टूल कच्चे रिस्पॉन्स या curl -i आउटपुट में से हर Set-Cookie हेडर निकाल लेता है। कुछ भी आपके ब्राउज़र से बाहर नहीं जाता।
तकनीकी नोट्स
पार्सिंग RFC 6265bis के अनुसार होती है: पहला name=value जोड़ा ही कुकी है और उसके बाद सेमीकोलन से अलग किए गए टोकन एट्रिब्यूट हैं, जिनका मिलान case-insensitive तरीक़े से होता है। अनजान एट्रिब्यूट भी बताए जाते हैं, क्योंकि ब्राउज़र उन्हें चुपचाप अनदेखा कर देते हैं — टाइपो की वजह से आने वाली "SameSite लागू क्यों नहीं हुआ" जैसी बग यहीं से जन्म लेती हैं।
जब किसी प्रॉक्सी ने कई Set-Cookie हेडर जोड़कर एक कॉमा-सेपरेटेड वैल्यू बना दी हो, तो एनालाइज़र उन्हें फिर से अलग कर देता है और Expires तारीख़ें (जिनमें कॉमा होता है) ज्यों की त्यों बनी रहती हैं।