नहीं, दूरस्थ रूप से सुरक्षित नहीं है। आपको कोई गारंटी नहीं है कि कुकीज़ को सादा पाठ में संग्रहीत नहीं किया जाता है (और वास्तव में, अधिकांश कार्यान्वयन उन्हें सादा पाठ के रूप में संग्रहित करते हैं)।
आपको याद है, "मुझे याद रखें" स्वाभाविक रूप से असुरक्षित है, क्योंकि कुकी को अवरुद्ध करने वाले किसी भी व्यक्ति को एप्लिकेशन तक पहुंच मिलती है। लेकिन उपयोगकर्ता के पासवर्ड को उजागर करने से यह असुरक्षा सीढ़ी के नीचे एक कदम आगे ले जाता है। :-) और शायद उपयोगकर्ता को वास्तव में पागल बनाता है, अगर वे पता लगाते हैं।
मैं एक एन्क्रिप्टेड कुकी स्ट्रिंग का उपयोग करता हूं जिसमें उपयोगकर्ता के खाते का नाम उस टोकन के साथ संयुक्त होता है जो मेरे सर्वर पर एक तालिका को छोड़कर उपयोगकर्ता के खाते से जुड़े किसी अन्य (अन्य) तरीके से नहीं होता है। जब उपयोगकर्ता साइट पर वापस आ जाता है, तो हम कुकी को डिक्रिप्ट करते हैं और देखते हैं कि टोकन वास्तव में उस खाते से जुड़ा हुआ है या नहीं। टोकन (और इसलिए कुकी) प्रत्येक ऑटो-लॉगिन को बदलता है, और उस ऑटो-लॉगिन के लिए उपयोग किए गए किसी को अमान्य करता है। (कई स्थानों से ऑटो-लॉगिन की अनुमति देने के लिए टोकन और खाते के बीच एक से अधिक संबंध हैं। यदि आप चाहें तो आप इसे सीमित कर सकते हैं।) टोकन का समय समाप्त हो जाता है यदि उनका उपयोग X दिनों के भीतर नहीं किया जाता है। (यह न केवल कुकी की अवधि सीमित करके किया जाता है; यह सर्वर-साइड भी किया जाता है।) जीवन को बनाने के लिए कुछ अन्य चीजें हैं जो बिट कुकी को डीकोड करने की कोशिश करने वाले किसी व्यक्ति के लिए मुश्किल है (इसे सफलतापूर्वक डिक्रिप्ट कर रहा है) या एक चोरी हुई कुकी (जिसे डिक्रिप्शन की आवश्यकता नहीं है) का उपयोग करें, लेकिन कोई बात नहीं है ओवरकिल जाने में (फिर से, "मुझे याद रखें" स्वाभाविक रूप से असुरक्षित है)।
मैं उस साइट पर इसका उपयोग करता हूं जहां मजबूत सुरक्षा वास्तव में आवश्यक नहीं है (जाहिर है) और इसमें बड़ी संख्या में गतिशील-आईपी क्लाइंट हैं, और इसलिए मैं इसे आईपी पर लॉक करने की कोशिश नहीं करता हूं। लेकिन इसे आईपी पर भी लॉक करने से यह सुरक्षित नहीं होता है, यह सिर्फ हमले की सतह को थोड़ा कम करता है।
आप सोच रहे होंगे कि मेरे पास कुकी में उपयोगकर्ता नाम क्यों है। सीधे "मुझे याद रखें" उद्देश्यों के लिए, मैं इसे वहां रखने की अनुशंसा नहीं करता, भले ही यह एन्क्रिप्ट किया गया हो (फिर भी, यह उपयोगकर्ता नाम + पासवर्ड सिस्टम में प्रमाणीकरण जोड़ी का आधा है)। मैं अपनी कुकी में इसे खोजने के लिए थोड़ा आश्चर्यचकित था जब मैंने प्रारूप को देखा जब खुद को याद दिलाते हुए हमने इस प्रश्न के लिए यह कैसे किया; लेकिन फिर मैंने टिप्पणियों को समझाया कि यह क्यों है और वहां "मुझे याद रखने" के लिए असंबद्ध कारण नहीं हैं (जरूरी नहीं कि प्रेरक कारणों से, लेकिन कारणों से)।
अंतिम नोट पर, तथ्य यह है कि "मुझे याद रखें" स्वाभाविक रूप से असुरक्षित है, साइट लॉग बहुत महत्वपूर्ण हैं, और आपको महत्वपूर्ण खाता जानकारी में परिवर्तन की अनुमति देने की प्रक्रिया में पासवर्ड पुन: सत्यापन की आवश्यकता क्यों है खाते के स्वामित्व लेने के लिए कुकी चोरी करने वाले किसी व्यक्ति के लिए कठिन बनाना)।
स्रोत
2010-01-20 10:06:38
प्रपत्र प्रमाणीकरण इसे हसल दें! फॉर्म प्रमाणीकरण.SetAuthCookie (उपयोगकर्ता नाम, सच); वास्तव में –