Kullanıcıların teknik sürece onlar tarayıcıyı kapatmak asla (ve bu nedenle yeni bir oturum anahtarı asla) gibi, sonsuza Bağlı kalmak olabilecek bir site çalışıyorum. İşte oluyor görebiliyordu ne: Bir kullanıcı A bilgisayarı üzerinde bir tarayıcı açık bırakır sonra B bilgisayarı, giriş kullanmak ve oturumda depolanan kendi adını değiştirin. Bunlar B çıkış, ama yine kaydedilir ve hala eski adı oturumda depolanır oldu. Bu nedenle, kendi adını el ile kapatmayı veya onların tarayıcınızı kapatıp tekrar açın ve beni hatırlıyorum fonksiyonu sayesinde oturum sonraki zaman kadar güncellenir olmayacak.
Adı basit bir örnek, ama benim durumumda kendi hesabının abonelik düzeyi oturumda saklanır ve değiştirilebilir.
Bunu nasıl başa çıkabiliriz?
Ben bir kaç fikir:
10 dakika veya daha fazla bir süre sonra, oturum verileri almak en yeniden. Işlevi doğru 10 dakikalık bir noktada tetiklenir alacak veya kullanıcı yaprakları ve geri gelir ve sonra işlevselliğini tetikler eğer 2 saat sonra olabilir gibi kullanıcı son derece aktif ise tam 10 dakika olabilir.
Oturumda mümkün olduğunca az bilgi saklamak ve her sayfa çağrı üzerine DB kalanını yükleyin. (Ben gerçekten bu fikri sevmedim.)
Veritabanı oturumları kullanın ve tüm bilgisayarlarda aynı oturumu kullanın. Bunu beğendim, ama ben arama kriterleri gibi bir şey oturumda saklanır zaman kafa karıştırıcı oluyor - görebiliyordu aynı kriterler tarayıcılar / comptuers hem de boy gösterecek.
Bilgi için, hatta kullanıcı adı veya kullanıcı adı / e-posta adresi olarak, oturumda saklayın, ama gerektiğinde ağır sitesinde kendi yeteneklerini etkileyecek diğer bilgiler için, girişimi için (oturum ve yük saklamayın sadece) bir kez örneği başına yapmak.
Başka daha iyi yöntemleri var mı?
-- Another option: 5. Use database session and when an uptarih is made load the user's other sessions (just unserialize), change the relevant information and save them back to the database.