Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP का उपयोग करके एक निष्क्रिय उपयोगकर्ता को लॉगआउट करें

-4200 सिर्फ कुकी को नष्ट करने के लिए है। कुकीज़ उनके लिए अतीत में एक समय निर्धारित करके नष्ट कर दी जाती हैं। तो 4200 सेकंड पीछे की ओर सेट करना उतना ही प्रभावी है जितना कि 1 सेकंड पीछे।

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

बेशक, आप सत्र के अंदर ही अंतिम सक्रिय समय भी संग्रहीत कर सकते हैं, जो कुकी हस्तांतरण और प्रबंधन के ऊपरी हिस्से को हटाने का एक अधिक कुशल तरीका है।

संपादित करें

अंतिम सक्रिय समय की जांच करने और उपयोगकर्ता को लॉगआउट करने के लिए नीचे एक न्यूनतम कोड दिया गया है:

function login(){
    //check login username/pass etc...
    $_SESSION['last_active_time'] = time();
}

function auth(){
   if($_SESSION['last_active_time'] < (time() - 1800)){ //1800 is 30 minutes (time in seconds)
        logout(); //destroy the session in the logout function
    }
    else{
        $_SESSION['last_active_time'] = time();
    }
   //do some auth related things
}

इसके पीछे मूल तर्क यही है। बेशक आपको सुरक्षा, जाँच आदि के साथ-साथ अपनी ज़रूरत की अन्य चीज़ें भी लागू करनी होंगी....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql utf-8 mb4 डेटाबेस में स्माइली कैसे एन्कोडेड हैं?

  2. MySQL NULL कॉलम को NULL में अपडेट करने की अनुमति क्यों देता है?

  3. मेरे MySQL डेटा कॉलम में केवल 64kB डेटा क्यों सहेजा जा रहा है?

  4. PHP और MySQL समय से सेकेंड घटाएं

  5. MySQL कॉलम के रूप में एकाधिक पंक्तियों में शामिल हों