2009-03-27 18 views
7

यदि कोई उपयोगकर्ता साइट पर लॉग इन करता है, और कहता है 'मुझे याद रखें', तो हमें उपयोगकर्ता के लिए अद्वितीय पहचानकर्ता मिल जाता है, इसे 256 के स्थान और रीजेंडेल के साथ एन्क्रिप्ट करें यह एक httponly कुकी में कहने की एक सेट समाप्ति के साथ .. 120 दिनों, समाप्ति सर्वर के लिए प्रत्येक सफल अनुरोध ताज़ा किया जाता है।क्या यह 'मुझे याद रखें' कार्यक्षमता को कार्यान्वित करने का एक उचित तरीका है

वैकल्पिक रूप से हम उपयोगकर्ता एजेंट और आईपीवी 4 पते (अंतिम दो ऑक्टेट्स) के हिस्से के आधार पर प्रारंभिक वेक्टर उत्पन्न करते हैं।

जाहिर है कोई वास्तविक समाप्ति प्रणाली इस में निर्मित theres, उपयोगकर्ता तकनीकी रूप से हमेशा के लिए इस एन्क्रिप्टेड कुंजी इस्तेमाल कर सकते हैं (दिए गए हम सर्वर साइड कुंजी में परिवर्तन नहीं करते) ..

मैं तथ्य यह है कि इस सुविधा की अनुमति के लिए माना जाता है मुझे उपयोगकर्ता को लॉगिन को बाईपास करने और मुझे अपनी अनूठी आईडी (जो एक गाइड है) देने में सक्षम होने की अनुमति देने की आवश्यकता है, मुझे लगा कि अकेले ग्रिड वास्तविक उपयोगकर्ताओं को अनुमान लगाने में वाकई मुश्किल था, लेकिन साइट पर हमला करने के लिए खुली जगह छोड़ दी जाएगी गॉट्स उत्पन्न करने वाले बॉटनॉट्स (मुझे नहीं पता कि उनके लिए कानूनी गाइड खोजने के लिए कितना यथार्थवादी है) .. इसलिए यही एन्क्रिप्शन है जहां सर्वर एन्क्रिप्शन कुंजी जानता है, और वैकल्पिक रूप से iv ब्राउज़र और आईपी भाग के लिए विशिष्ट है।

क्या मुझे एक अलग दृष्टिकोण पर विचार करना चाहिए जहां सर्वर किसी उपयोगकर्ता से जुड़े टिकट जारी करता है, और इन टिकटों की एक ज्ञात समाप्ति तिथि होगी ताकि सर्वर समाप्ति के नियंत्रण में रहे? क्या मुझे वास्तव में समाप्ति की परवाह करनी चाहिए? याद है मुझे सब के बाद याद है?

नम्र होने के लिए तत्पर हैं;), चीयर्स।

+0

संभावित डुप्लिकेट [वेबसाइट के लिए "मुझे याद रखें" को लागू करने का सबसे अच्छा तरीका क्या है?] (Http: // stackoverflow।कॉम/प्रश्न/244882/सबसे अच्छा तरीका-से-कार्यान्वित-याद-एक-वेबसाइट के लिए याद रखें) – user

उत्तर

6

Very similar question.

अपने प्रश्न का हल इस blog post

में है "लगातार लॉग इन कुकी बेस्ट अभ्यास," परिचित को लागू करने के लिए एक अपेक्षाकृत सुरक्षित दृष्टिकोण का वर्णन करता है "याद है मुझे" के लिए विकल्प वेब साइटें। इस आलेख में, मैं सुधार का प्रस्ताव करता हूं जो उस दृष्टिकोण के सभी लाभों को बरकरार रखता है लेकिन यह पता लगाना संभव बनाता है कि लगातार लॉगिन कुकी चोरी हो गई है और हमलावर द्वारा उपयोग किया जाता है।

जैको के रूप में टिप्पणी में कहते हैं: के लिए गहराई की जानकारी में के बारे में सुरक्षित प्रमाणीकरण The Definitive Guide To Website Authentication पढ़ें।

+0

सुपर, मुझे बेहतर खोजना चाहिए था;) चीयर्स। – meandmycode

+0

आपको मूल पोस्ट पढ़ना चाहिए: http://fishbowl.pastiche.org/2004/01/19/persistent_login_cookie_best_practice/। – Jacco

+0

'सुधारित' संस्करण किसी भी सुधार की पेशकश नहीं करता है। यह भी देखें: http://stackoverflow.com/questions/549/the-definitive-guide-to-website-authentication-beta#477579 'बेहतर' संस्करण पर टिप्पणियों में कहीं भी इस मुद्दे का स्पष्टीकरण भी है। – Jacco

0

क्या आपने ओपन आईडी जैसे कुछ पर विचार किया था? एसओ का उपयोग करता है।

+0

हाय जोश, वास्तव में साइट भविष्य में ओपनिड का उपयोग कर सकती है, लेकिन मुझे याद रखें कि कार्यक्षमता अभी भी आवश्यक है यह याद रखने के लिए कि आप उपयोगकर्ताओं के हमारे डेटाबेस के अनुसार कौन होने का दावा करते हैं। – meandmycode

0

याद रखने वाली जानकारी कितनी महत्वपूर्ण है? यदि यह कुछ भी व्यक्तिगत या महत्वपूर्ण नहीं होने वाला है, तो बस कुकी में एक GUID डालें।

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

GUID खोजने के लिए ब्रूट फोर्स का उपयोग हास्यास्पद है, क्योंकि 2 संभावनाएं हैं।

+0

पता विवरण संभावित और ऑर्डर इतिहास, हां आईपी चीज कुछ नेटवर्क के साथ प्रॉक्सी मुद्दों को वैकल्पिक है। – meandmycode

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