2011-02-01 27 views
7

के साथ प्रमाणीकरण के बाद आरईएसटी आवेदन में सत्र सत्र मैं एक विश्वसनीय आवेदन बना रहा हूं। मैं उपयोगकर्ता प्रमाणीकरण के लिए ओपनआईडी का उपयोग करने की योजना बना रहा हूं। वर्तमान में, मैं OpenID प्रमाणीकरण के लिए LightOpenID का उपयोग कर रहा हूं और मैं अपने उपयोगकर्ताओं को प्रमाणीकृत करने में सक्षम हूं।ओपनआईडी

मेरा प्रश्न अगला क्या है? प्रमाणीकरण के बाद!

  1. चूंकि, यह एक आरईएसटी एप्लीकेशन है, मुझे सत्र प्रबंधन के लिए कुकीज़ का उपयोग करना होगा .. सही?
  2. कुकीज़ में मुझे कौन से मूल्य स्टोर करते हैं?
  3. मैं सत्र और उपयोगकर्ता लॉगआउट को कैसे सत्यापित करूं?

मैंने कार्यान्वयन के संबंध में उदाहरणों की खोज की लेकिन सभी उदाहरण प्रमाणीकरण पर रुक गए और सत्र प्रबंधन के बारे में बात न करें! मैं जानना चाहता हूं कि आप अपने अनुप्रयोगों में सत्रों का प्रबंधन कैसे करते हैं और यदि संभव हो तो एक दृष्टिकोण को लागू करने में सर्वोत्तम प्रथाओं और चिंताओं को पूरा करें।

यदि आप किसी भी संदर्भ कार्यान्वयन से अवगत हैं तो कृपया मुझे लिंक प्रदान करें।

उत्तर

14

महत्वपूर्ण:

पहले कुछ महत्वपूर्ण सुरक्षा सलाह आप ध्यान में रखना चाहिए:

आपका प्रश्न:

के बाद से इसके एक बाकी आवेदन, मैं सत्र प्रबंधन के लिए कुकीज़ का उपयोग करने के .. होगा ना?

सत्रों का उपयोग सुरक्षित (सर्वोत्तम) होगा, लेकिन निश्चित रूप से बहुत अधिक solutions to session management हैं। लेकिन अगर आप केवल कुकीज़ का उपयोग करते हैं (कोई php $_SESSION) तो आपको निश्चित रूप से अपनी कुकी को एन्क्रिप्ट करना चाहिए। लेकिन मैं सलाह देता हूं कि आप केवल $ _SESSION का उपयोग करें।

कुकीज़ में मुझे कौन से मूल्य स्टोर करते हैं?

आप कुकीज़ में कुछ भी स्टोर नहीं करते हैं। $_SESSION कुकी बनाता है (स्वचालित रूप से => आपको इसके बारे में सोचना नहीं है) जो अद्वितीय है। $_SESSION में जो कुछ भी आप डालते हैं उसे सर्वर पर संग्रहीत किया जाता है ताकि उपयोगकर्ता इसे पढ़ न सके। आप सत्र में स्टोर करने के लिए जो भी जानकारी स्टोर करना चाहते हैं उसे स्टोर कर सकते हैं, लेकिन ध्यान रखें कि आपके एप्लिकेशन में संवेदनशील डेटा (पिन नंबर, क्रेडिटकार्ड, पासवर्ड इत्यादि) को स्टोर करना सबसे अच्छा नहीं है। मैंने पहले से ही बताया है कि आपका $ _SESSION सर्वर पर संग्रहीत है, लेकिन डिस्क (या डेटाबेस) पर संग्रहीत सत्र के साथ मिलान करने के लिए एक अद्वितीय पहचानकर्ता है जो guessed(spoofed) हो सकता है।

मैं सत्र को कैसे सत्यापित करूं?

सत्र के अंदर संग्रहीत जानकारी का निरीक्षण करके आप सत्र को मान्य करते हैं। मुझे लगता है कि आप अपने सत्र के अंदर कम से कम $_SESSION['id'] = $openid->identity; स्टोर करते हैं। ध्यान रखें कि उपयोगकर्ता ओपनिड का उपयोग करके आपकी वेबसाइट पर लॉग इन करने के बाद आपको session fixation को रोकने के लिए चाहिए।

मैं उपयोगकर्ता को कैसे लॉग आउट करूं?

आप बस session_destroy पर कॉल करते हैं और सत्र के अंदर संग्रहीत सभी डेटा हटा दिए जाएंगे।


मुझे आशा है कि यह आपके सभी प्रश्नों को समझाएगा।

पुनश्च:

A session in the cookie jar (: $ हालांकि मैं नहीं दिख रहा है यह सत्र निर्धारण उल्लेख) आप सत्र के लिए एक बुनियादी परिचय देता है।

+0

सत्र प्रबंधन पर इस आंख खोलने वाले स्पष्टीकरण देने के लिए धन्यवाद। आपके द्वारा प्रदत्त अतिरिक्त जानकारी लिंक के लिए +5! –

+0

@ अब्देल आपका स्वागत है: पी। – Alfred