मान लें कि स्थायी कुकी के लिए डेटाबेस तालिका का नाम pcookies है निम्नलिखित कॉलम के साथ:
- cookie_id (CHAR)
- user_id (INT)
- समाप्ति (DATETIME)
- नमक (चार)
कुकी निर्माण चरण:
- सफल लॉगिन के बाद, एक अद्वितीय आईडी के तहत डेटाबेस में कुकी रिकॉर्ड बनाएं। आप इसे hash_hmac('sha512', $token, $salt) द्वारा जेनरेट कर सकते हैं जहां $token=uniqid($user_id, TRUE) और $salt=md5(mt_rand()).
- डेटाबेस में 'कुकी आईडी' के साथ 'यूजर आईडी', 'एक्सपायरी टाइम' और 'नमक' स्टोर करें।
- कुकी में 'कुकी आईडी' और 'टोकन' स्टोर करें।
प्रमाणीकरण चरण:
- यदि कोई स्थायी कुकी मिलती है, तो पहले जांच लें कि रिकॉर्ड डेटाबेस में उपलब्ध है या नहीं।
- यदि रिकॉर्ड उपलब्ध है तो जांच लें कि कुकी समाप्त होती है या नहीं।
- यदि कुकी समाप्त नहीं होती है, तो कुकी आईडी को $cookie_id ==hash_hmac('sha512',$token_from_cookie,$salt_from_db) द्वारा सत्यापित करें।
- कुकी के मान्य होने के बाद, इसे डेटाबेस से हटा दें और उपरोक्त कुकी निर्माण चरणों के अनुसार एक नई कुकी बनाएं।
- यदि कुकी अमान्य पाई जाती है, तो डिवाइस से कुकी साफ़ करें और डेटाबेस से उपयोगकर्ता के अन्य सभी कुकी रिकॉर्ड हटाएं, चोरी के प्रयास के बारे में उपयोग पर ध्यान दें और मैन्युअल लॉगिन प्रक्रिया के लिए आगे बढ़ें।
नोट:
- सत्र उपलब्ध होने पर, कुकी की जाँच पर ध्यान न दें।
- लॉगआउट के बाद, डेटाबेस रिकॉर्ड के साथ कुकी साफ़ करें।
- उपयोगकर्ताओं को पासवर्ड बदलने या लगातार कुकी लॉगिन से क्रेडिट कार्ड की जानकारी देखने जैसे संवेदनशील अनुरोधों को निष्पादित करने की अनुमति कभी न दें। लॉग इन करने के लिए पासवर्ड का आह्वान करें और सभी आगे के संचालन की अनुमति देने के लिए सत्र में एक ध्वज जोड़ें।