(मुझे आश्चर्य हुआ कि इस सवाल को अब स्टैक पर नहीं पूछा गया था, लेकिन मैंने कुछ खोज किया है और कुछ भी नहीं मिला है)क्यों मैं सत्र id कुकी में बजाय कुकी में लॉगिन और (टुकड़ों में बंटी) पासवर्ड भंडारण के उपयोग करना चाहिए?
मैं सेवा-आधारित वेबपैप पर काम कर रहा हूं और मुझे आश्चर्य है कि क्या है उपयोगकर्ता लॉगिन को संभालने का सबसे अच्छा तरीका। अब तक मेरे पास है:
- जब उपयोगकर्ता लॉगिन करते हैं, तो वे क्रेडिटियल की आपूर्ति करते हैं। पासवर्ड को नमक और स्थानीय रूप से धोया जाता है, यह पोस्ट पर सर्वर पर संचारित होने की तुलना में होता है (इसलिए उपयोगकर्ताओं को स्नीफिंग करने के लिए मूल पासवर्ड प्राप्त करने में सक्षम नहीं होंगे यानी उन्हें अन्य साइटों पर जांचने में सक्षम नहीं होंगे)
- टीटीएल के साथ कुकी में लॉग इन और हैश पासवर्ड संग्रहीत किया जाता है 15 मिनट (प्रत्येक एकल वेबैक्शन को निरस्त कर दिया गया)
- पासवॉड सर्वर-साइड नमकीन है और फिर से धोया गया है, और इसकी तुलना डेटाबेस में संग्रहीत पासवर्ड से की जाती है (इसलिए, पासवर्ड अलग-अलग नमक के साथ डबल शेड होते हैं, यह किसी ऐसे व्यक्ति के लिए होता है जो टूट जाएगा डेटाबेस में - वे अभी भी लॉगिन क्रेडिट पुनर्प्राप्त करने में सक्षम नहीं होंगे)
- उपयोगकर्ता एकल आईपी
- से प्रति 5 मिनट में अधिकतम 3 लॉगिन प्रयासों पर कर सकता है उपयोगकर्ताओं को अंतिम सफल और unsu के बारे में जानकारी मिलती है तारीख और आईपी के साथ साथ ccessful लॉगिन प्रयास
किसी ने नोट किया कि यह कुकी में टुकड़ों में बंटी पासवर्ड के बजाय अद्वितीय सत्र आईडी स्टोर करने के लिए बेहतर है और मुझे आश्चर्य है कि क्यों यह इतना महत्वपूर्ण है -, अगर कोई पैकेट सूंघ की तुलना में यह कोई फर्क नहीं पड़ता सत्र है आईडी या नहीं - वे अभी भी वैध उपयोगकर्ताओं के रूप में पेश करने और स्वयं लॉगिन करने के लिए आवश्यक सभी डेटा के साथ लॉगिन से पैकेट प्राप्त कर सकते हैं। तो वहाँ कुकी appraoach में लॉगिन और टुकड़ों में बांटा-पासवर्ड भंडारण के ऊपर संग्रहीत सत्र आईडी दृष्टिकोण के किसी भी अन्य लाभ कर रहे हैं?
मैं पासवर्ड फिर से सर्वर सर्वर से फिर से कर रहा हूं। डेटाबेस में डबल हैश पासवर्ड है, इसलिए आपको सिंगल-हैश पासवर्ड नहीं मिल सकता है, जो लॉगिन – PiotrK
@PiotrK के लिए आवश्यक है, यह अभी भी एक भयानक विचार है, अपना स्वयं का सत्र हैंडलर न लिखें। – rook
मैं संभव के रूप में सामान्य रूप में मेरी समस्या का वर्णन करने के लिए समुदाय के लिए उपयोगी बनना चाहता था - लेकिन स्थिति कुछ अलग है: मैं ग्राहक के रूप में फ्लैश का उपयोग कर रहा है और यह HTTP कॉल करने और सादा XML में डेटा प्राप्त होने की। मैं मानक सत्र का उपयोग नहीं कर सकता, क्योंकि मेरे पास मेरे कोड में GET या COOKIE नहीं है।मैं केवल फ्लैश क्लाइंट द्वारा "कुकी" के रूप में रखे गए चरों को संदर्भित करता हूं, क्योंकि वे इस तरह व्यवहार करते हैं। यही कारण है कि मैं PHP सत्र हैंडलर का उपयोग नहीं कर सकता और मुझे अपना खुद का लिखना है :) – PiotrK