Kullanıcının web tarayıcısı içinde tamamen çalışan JavaScript, sunucu tarafı oturum değişkenlerine doğrudan erişemez. Oturum verileri, web uygulamanızın barındırıldığı sunucuda özel olarak bulunur. JavaScript kodunuzda oturum bilgilerini kullanmak için sunucu tarafı desteği kullanmanız gerekir.
İçindekiler
Sunucu Tarafı Renderlama
En basit yaklaşım, oturum verilerini sunucu tarafı renderlama sırasında HTML’nize yerleştirmeyi içerir. Sunucunuz (PHP, Python/Django, Node.js, Ruby on Rails vb. kullanarak) oturuma erişir, gerekli değerleri alır ve bunları HTML’niz içinde JavaScript değişkenleri olarak ekler.
<!DOCTYPE html>
<html>
<head>
<title>Oturum Verileri Örneği</title>
</head>
<body>
<script>
const userName = '<%= session.userName %>'; // Sunucu tarafı değişken ekleme
console.log("Kullanıcı Adı:", userName);
// JavaScript kodunuzda userName'i kullanın
if (userName) {
document.write("Hoş geldiniz, " + userName + "!");
}
</script>
</body>
</html>
<%= session.userName %>
yer tutucu (belirli sözdizimi sunucu tarafı teknolojinize bağlıdır), gerçek oturum değeriyle değiştirilir. Ortaya çıkan HTML, düzgün bir şekilde başlatılmış bir userName
JavaScript değişkeni içerir.
AJAX İstekleri
İlk sayfa yüklenmesinden sonra dinamik güncellemeler için (örneğin, oturum değişikliklerine tepki vermek), AJAX kullanın. JavaScript’iniz, oturum verilerini almaktan sorumlu bir sunucu tarafı uç noktaya istekte bulunur.
fetch('/getSessionData') // Sunucu tarafı uç noktanızı buraya yerleştirin
.then(response => response.json())
.then(data => {
const userName = data.userName;
// userName'i burada kullanın
console.log("Kullanıcı Adı (AJAX'tan):", userName);
})
.catch(error => console.error('Oturum verilerini alma hatası:', error));
Sunucu tarafı uç noktanız (örneğin, /getSessionData
), oturum verilerini alır ve JSON yanıt olarak döndürür. Olası hataları uygun şekilde ele almayı unutmayın.
Güvenlik Hususları
Oturum verilerini işlerken güvenliğe öncelik verin:
- HTML’de hassas verileri doğrudan göstermekten kaçının: Yalnızca istemci tarafı işlevselliği için gerekli verileri iletin.
- Sunucudan alınan tüm verileri doğrulayın: Güvenlik açıklarını önlemek için kullanmadan önce temizleyin ve doğrulayın.
- HTTPS kullanın: Oturum verilerini kesintiye karşı korumak için iletişimi şifreleyin.
Özetle, JavaScript’in sunucu tarafı oturum değişkenlerine doğrudan erişimi imkansızdır. Güçlü güvenlik önlemleriyle birlikte sunucu tarafı renderlama veya AJAX istekleri doğru yaklaşımlardır.