कुकी आधारित वेब प्रमाणीकरण के लिए कुछ सर्वोत्तम अभ्यास क्या हैं?


11

मैं सीजीआई और पायथन का उपयोग कर एक छोटे पक्ष की परियोजना पर काम कर रहा हूं (स्केलेबिलिटी एक मुद्दा नहीं है और इसे एक बहुत अच्छा सिस्टम होने की आवश्यकता है।)

मैं कुकीज़ का उपयोग करके प्रमाणीकरण को लागू करने के बारे में सोच रहा था, और सोच रहा था कि क्या कोई स्थापित सर्वोत्तम प्रथाएं हैं।

जब उपयोगकर्ता सफलतापूर्वक प्रमाणित हो जाता है, तो मैं यह पता लगाने के लिए कुकीज़ का उपयोग करना चाहता हूं कि कौन लॉग ऑन है। क्या, सर्वोत्तम प्रथाओं के अनुसार, इस तरह के कुकी में संग्रहीत किया जाना चाहिए?

जवाबों:


12

सबसे अच्छा मामला: एक एकल आईडी जो आपके लिए आवश्यक अन्य सभी जानकारी से संबंधित है, जो बदले में एक डेटाबेस में संग्रहीत होती है।

ऐसे समय होते हैं जब यह कुछ अन्य जानकारी को वहाँ रखने के लिए समझ में आता है, लेकिन वे दुर्लभ हैं। आपको हमेशा अपने आप से यह पूछने की आवश्यकता है कि क्यों, कम से कम पांच बार

एसएसएल आपके उपयोगकर्ताओं को सत्र अपहरण से बचाएगा, लेकिन फिर भी, कभी भी कुकी में अनएन्क्रिप्टेड संवेदनशील जानकारी संग्रहीत न करें। यह अनिवार्य रूप से हार्डड्राइव पर सादे पाठ में संग्रहीत है।

अंत में, और सबसे महत्वपूर्ण बात, अपने उपयोगकर्ता को XSS और CSRF हमलों से बचाएं

XSS सुरक्षा आम तौर पर सावधान की तरह है जहाँ आप जावास्क्रिप्ट को शामिल करते हैं, क्योंकि किसी अन्य सर्वर पर जावास्क्रिप्ट को आपके ज्ञान के बिना बदला जा सकता है, और इस जावास्क्रिप्ट में कुकी डेटा तक पहुंच है। इसलिए यदि आप अपने jQuery स्क्रिप्ट की सेवा करने के लिए ईविल कॉर्प के कंटेंट-डिलीवरी नेटवर्क का उपयोग कर रहे हैं, तो वे अचानक आपके उपयोगकर्ताओं की कुकी भेजने के लिए कोड जोड़ सकते हैं। तुम्हें पता नहीं होगा; आपके उपयोगकर्ताओं को नहीं पता होगा।

या तो स्क्रिप्ट डाउनलोड करें और उन्हें अपने स्वयं के सर्वर से सेवा दें या बहुत अच्छी तरह से विश्वसनीय सीडीएन जैसे कि Google या याहू का उपयोग करें।

CSRF सुरक्षा आमतौर पर किसी प्रपत्र में छिपे हुए फ़ील्ड में यादृच्छिक मान होने से होती है। मान को सत्र में रखा जाता है ताकि जब फॉर्म को फिर से जमा किया जाए, तो आप यह सत्यापित कर सकें कि यह उसी कंप्यूटर से आया है।

अधिकांश वेब फ्रेमवर्क में अब उस टोकन को शामिल करने की बहुत सरल तकनीकें हैं।


3
  • secureऔर httpOnlyझंडे का प्रयोग करें ।
  • सत्र कुकी डेटा को एन्कोड करें और क्रिप्टोग्राफ़िक रूप से एन्कोडेड डेटा को मैक के साथ साइन इन करें। सत्र कुकी डेटा को डीकोड करने से पहले हर बार सर्वर पर हस्ताक्षर की जांच करें। (रेल डिफ़ॉल्ट रूप से ऐसा करती है।)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.