मेरे PHP वेब-ऐप में मैं उपयोगकर्ता के डेटा को स्टोर करने के लिए सत्र का उपयोग करता हूं। Exmaple के लिए, यदि कोई उपयोगकर्ता लॉग इन करता है, तो उपयोगकर्ता वर्ग का एक उदाहरण उत्पन्न होता है और सत्र में संग्रहीत होता है।क्या ग्राहक क्लाइंट/उपयोगकर्ता द्वारा संशोधित सत्र हैं?
मेरे पास अपने विशेषाधिकार निर्धारित करने के लिए प्रत्येक उपयोगकर्ता से जुड़े पहुंच स्तर हैं।
स्टोर से एक सत्र में उपयोगकर्ता:
$_SESSION['currentUser'] = new User($_POST['username']);
उदाहरण के लिए:
if($_SESSION['currentUser'] -> getAccessLevel() == 1)
{
//allow administration functions
}
जहां getAccessLevel() बस उपयोगकर्ता वर्ग कि _accesslevel सदस्य चर रिटर्न में एक प्राप्त विधि है।
क्या यह सुरक्षित है? या क्या क्लाइंट किसी भी प्रकार के सत्र मैनिपुलेशन के माध्यम से किसी भी तरह से अपने पहुंच स्तर को संशोधित कर सकता है?
यह कैसे लीक होगा, यह मानते हुए कि मैं क्वेरी स्ट्रिंग में सत्र_आईडी पास नहीं करता हूं और न ही पोस्ट के माध्यम से (जब तक यह स्वचालित रूप से ऐसा नहीं होता है, मुझे इस तरह की चीज़ से अवगत नहीं है), और मानते हैं कि उनके पास पहुंच नहीं है सर्वर? – Sev
@ सेव - आपके नेटवर्क यातायात को स्नीफ किया जा सकता है। कुकीज/पैरामीटर्स प्राप्त करें/जो कुछ भी सादा-पाठ और आसानी से निकालने योग्य नहीं है जब तक आप SSL का उपयोग नहीं करते। – karim79
आप सही हैं, धन्यवाद। – Sev