मैं परिभाषित करके mongodb के साथ PHP सत्र का उपयोग कर रहा हूँ

session_set_save_handler()

यदि प्रत्येक उपयोगकर्ता की भूमिका (क्लाइंट, व्यवस्थापक, कर्मचारी) है, तो सत्र आईडी प्राप्त करने के बाद लोड होने वाले प्रत्येक पृष्ठ के साथ मैं भूमिका के मूल्य की जांच कर रहा हूं क्या यह एक सुरक्षित दृष्टिकोण है? या वे इसे पास कर सकते हैं?

0
cap10ibrahim 24 पद 2011, 15:25

1 उत्तर

सबसे बढ़िया उत्तर

सत्र डेटा में उपयोगकर्ता की "स्थिति" (अर्थात लॉग इन या लॉग इन नहीं) होना चाहिए, लेकिन उपयोगकर्ता की भूमिका जैसे विशिष्ट विवरण नहीं होने चाहिए।

तो एक बार उपयोगकर्ता प्रमाणित हो जाने के बाद, आप डेटाबेस में उपयोगकर्ता पर जानकारी देख सकते हैं। यदि उस उपयोगकर्ता की आवश्यक भूमिका है, तो पृष्ठ लोड करें; यदि नहीं, तो नहीं।

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

0
VettelS 24 पद 2011, 22:05