मैं एक PHP- आधारित लॉगिन प्रणाली विकसित कर रहा हूं। प्रत्येक उपयोगकर्ता के पास एक आईडी (एक संख्या) और एक पासवर्ड होता है, जिसे नमकीन हैश के रूप में संग्रहीत किया जाता है।कुकीज़ और नमकीन हैश का उपयोग कर PHP लॉगिन सिस्टम
मैं यह पता लगाने में सक्षम हूं कि कोई लॉगिन सफल है या नहीं, लेकिन अब मुझे उस जानकारी को कहीं और स्टोर करने की आवश्यकता है (ताकि उपयोगकर्ता स्थायी रूप से लॉग आउट न हो)।
अतीत में, मैंने $ _SESSION चर के साथ खेला है। हालांकि, जब उपयोगकर्ता ब्राउज़र छोड़ देता है, तो यह हटाया जाता है, जो अवांछित है। इसके अलावा, मैं "मान लीजिए" कि उपयोगकर्ता सिस्टम को चालित करने की कोशिश नहीं करेगा, इसलिए इसे सुरक्षित होना चाहिए।
तो, यहाँ मेरी प्रश्न हैं:
- मैं
$_SESSION
या$_COOKIE
उपयोग करना चाहिए? इन दृष्टिकोणों में से प्रत्येक के मुख्य फायदे क्या हैं? - 'मुझे याद रखें' चेकबॉक्स को कैसे कार्यान्वित करें?
- सत्र/कुकी चर में कौन सी जानकारी संग्रहीत की जानी चाहिए?
ध्यान दें कि इस विशेष प्रश्न में कोई डेटाबेस सुरक्षा समस्या नहीं उठाई जा रही है।
नंबर 3 के बारे में, क्या मैं वास्तव में मतलब है:
- मैं आईडी और कुकी/सत्र में उपयोगकर्ता के टुकड़ों में बांटा पासवर्ड, या
- मैं आईडी और गैर की दुकान चाहिए की दुकान चाहिए कुकी/सत्र में उपयोगकर्ता का धराशायी पासवर्ड, या
- क्या मुझे "सत्र आईडी" और पासवर्ड (हैश या गैर-धोया गया?) या
- स्टोर करना चाहिए, क्या मुझे "सत्र आईडी", "आईडी" और पासवर्ड (एक बार फिर, धोया या गैर धोया)?
मैं अपनी वेबसाइट को सुरक्षित लेकिन कुशल और उपयोगकर्ता के अनुकूल के रूप में रखना चाहता हूं। यदि कोई सत्र आईडी-आधारित दृष्टिकोण लिया जाता है, तो मैं डेटाबेस में इसे स्टोर करने के तरीके के बारे में कुछ स्पष्टीकरण की भी सराहना करता हूं।
अग्रिम धन्यवाद
संपादित करें: Eran 'और संयुक्त ब्रायन की जवाब मैं क्या जरूरत होने लगते हैं। दुर्भाग्यवश, मैं केवल उनमें से एक को स्वीकार्य के रूप में चिह्नित कर सकता हूं। मैं आगे बढ़ने की कोशिश करूंगा और यह देखने के लिए कार्यान्वित करूंगा कि कौन सा अधिक उपयोगी था।
जब भी संभव हो, आपको मौजूदा प्रमाणीकरण ढांचे का फिर से उपयोग करना चाहिए, क्योंकि यह * जटिल * है। उदाहरण के लिए, https://github.com/delight-im/PHP-Auth – caw