2015-05-22 7 views
5

मैं अपना आवेदन थोड़ा सा सुरक्षित करना चाहता हूं, विशेष रूप से मैं सत्रों को कैसे प्रबंधित किया जाता है, इस तरीके को बेहतर बनाना चाहता हूं। तो, यह इस समय मैं कई तथ्यों को जानते हैं:AJAX अनुरोधों में session_regenerate_id() को संभालना

  1. session_regenerate_id(false) वर्ष सत्र
  2. session_regenerate_id(true) वर्ष सत्र नष्ट कर देता है को नष्ट नहीं करता। सामान्य पृष्ठ रीलोड के साथ session_regenerate_id(true) का उपयोग करने में कुछ भी गलत नहीं है।

लेकिन जब बनाने दर्जनों समवर्ती AJAX के एक समस्या जो एक त्रुटि संदेश object destruction failed में परिणाम हो सकता है अनुरोध करता है।

तो, AJAX अनुरोध में session_regenerate_id(false) का उपयोग करने के लिए कुछ भी नहीं बचा है।

लेकिन क्या जरूरत है, करने के लिए है किसी भी तरह पिछले पुराना सत्र, जो session_regenerate_id(false) लागू करने का एक परिणाम के रूप में पुराना हो, के रूप में "ज़ोंबी" सत्र है कि किसी तरह नष्ट हो जाएगा और नहीं कूड़े सत्र फ़ोल्डर निशान।

मुझे इसे कार्यान्वित करने के तरीके पर कुछ व्यावहारिक सलाह चाहिए।

उत्तर

0

पुनर्निर्मित आईडी वाले सभी सत्र क्लीनअप को PHP के सत्र कचरा कलेक्टर द्वारा संभाला जाता है। भंडारण से पुराने सत्रों को हटाने के लिए session_regenerate_id(false) पर कॉल करते समय विशेष आवश्यकता नहीं है।

session.gc_probability, session.gc_divisor के लिए PHP's settings, और session.gc_maxlifetime लागू होते हैं।

आप last access time पर आधारित अपना स्वयं का सत्र संग्रहण क्लीन भी चला सकते हैं।

संबंधित मुद्दे