जावास्क्रिप्ट, जो पूरी तरह से उपयोगकर्ता के वेब ब्राउज़र में चलता है, सीधे सर्वर-साइड सत्र चरों तक पहुँच नहीं सकता है। सत्र डेटा विशेष रूप से उस सर्वर पर रहता है जहाँ आपका वेब एप्लिकेशन होस्ट किया गया है। अपने जावास्क्रिप्ट कोड में सत्र जानकारी का उपयोग करने के लिए, आपको सर्वर-साइड सहायता का उपयोग करना होगा।
विषय-सूची
सर्वर-साइड रेंडरिंग
सबसे सरल तरीका सर्वर-साइड रेंडरिंग के दौरान अपने HTML में सत्र डेटा एम्बेड करना है। आपका सर्वर (PHP, Python/Django, Node.js, Ruby on Rails, आदि का उपयोग करके) सत्र तक पहुँचता है, आवश्यक मान पुनः प्राप्त करता है, और उन्हें आपके HTML के भीतर जावास्क्रिप्ट चर के रूप में सम्मिलित करता है।
<!DOCTYPE html>
<html>
<head>
<title>सत्र डेटा उदाहरण</title>
</head>
<body>
<script>
const userName = '<%= session.userName %>'; // सर्वर-साइड वेरिएबल इंजेक्शन
console.log("उपयोगकर्ता नाम:", userName);
// अपने जावास्क्रिप्ट कोड में userName का उपयोग करें
if (userName) {
document.write("स्वागत है, " + userName + "!");
}
</script>
</body>
</html>
प्लेसहोल्डर <%= session.userName %>
(विशिष्ट सिंटैक्स आपकी सर्वर-साइड तकनीक पर निर्भर करता है) को वास्तविक सत्र मान से बदल दिया जाता है। परिणामी HTML में एक ठीक से आरंभ किया गया userName
जावास्क्रिप्ट चर शामिल है।
AJAX अनुरोध
प्रारंभिक पृष्ठ लोड के बाद गतिशील अपडेट के लिए (जैसे, सत्र परिवर्तनों पर प्रतिक्रिया करना), AJAX का उपयोग करें। आपका जावास्क्रिप्ट एक सर्वर-साइड एंडपॉइंट पर अनुरोध करता है जो सत्र डेटा को पुनः प्राप्त करने का काम करता है।
fetch('/getSessionData') // अपने सर्वर-साइड एंडपॉइंट से बदलें
.then(response => response.json())
.then(data => {
const userName = data.userName;
// यहाँ userName का उपयोग करें
console.log("उपयोगकर्ता नाम (AJAX से):", userName);
})
.catch(error => console.error('सत्र डेटा प्राप्त करने में त्रुटि:', error));
आपका सर्वर-साइड एंडपॉइंट (जैसे, /getSessionData
) सत्र डेटा को पुनः प्राप्त करता है और इसे JSON प्रतिक्रिया के रूप में देता है। संभावित त्रुटियों को उचित रूप से संभालना याद रखें।
सुरक्षा संबंधी विचार
सत्र डेटा को संभालते समय सुरक्षा को प्राथमिकता दें:
- HTML में सीधे संवेदनशील डेटा को उजागर करने से बचें: केवल क्लाइंट-साइड कार्यक्षमता के लिए आवश्यक डेटा संचारित करें।
- सर्वर-प्राप्त सभी डेटा को मान्य करें: कमजोरियों को रोकने के लिए उपयोग करने से पहले स्वच्छ और मान्य करें।
- HTTPS का उपयोग करें: सत्र डेटा को अवरोधन से बचाने के लिए संचार को एन्क्रिप्ट करें।
संक्षेप में, सर्वर-साइड सत्र चरों तक सीधा जावास्क्रिप्ट पहुँच असंभव है। मजबूत सुरक्षा उपायों के साथ, सर्वर-साइड रेंडरिंग या AJAX अनुरोध सही तरीके हैं।