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