kullanmak Sessions. Cookie de session id saklayın, ve sunucu tarafında (LoggedIn, kullanıcı kimliği, IP) kullanıcı durumunu depolamak.
Eğer oturum dizide saklamak gerekir netleştirmek için:
- Kullanıcı veya değil kaydedilir olmadığı hakkında loggedIn: Bir boolean değişken. Birden oturumları için aynı çerez yeniden, böylece kullanıcıların sitenize, vb gelecek sefere kullanıcı adını hatırlamıyorum
- userId: veritabanındaki kullanıcının rakipsiz bir no. Kullanıcı oturum sonra bu çok oturumda dizide tutulabilir adınızı, e-posta vb gibi, kullanıcıya daha fazla bilgi almak için bunu kullanın.
- IP: session id çalmak ve bunu kullanarak birinin önlemek için, siz de kullanıcının IP saklamak. Bazen kullanıcı (örneğin, stackoverflow bana zaman IP değişiklikleri bana çıkıyor olmadan benim laptop ile ilgili hareket etmesine olanak sağlar) dolaşmak için izin istiyor gibi bu, isteğe bağlıdır.
- lastPing: damgası kullanıcı son görüldü. Bu yerine çerez sona erme tarihi olarak kullanılabilmektedir. Ayrıca lifetime oturumun saklıyorsanız, o zaman hareketsizlik nedeniyle kullanıcıyı dışarı oturum açabilirsiniz. Bu oturum kimliği tanımlama çok uzun bir süre için kullanıcılar bilgisayarda saklanabilir anlamına gelir.
Kullanıcı oturum veya hareketsizlik nedeniyle dışarı oturum açtığında, sadece loggedIn
ayarlamak false. Kullanıcı, loggedIn
true ayarlamak ve diğer alanları (kullanıcı kimliği, IP, ömür boyu) güncelleştirmek doğru kullanıcı adı ve şifre ile oturum açtığında. Kullanıcı bir sayfayı yükler zaman, şimdiki zaman karşı lastPing
kontrol ve lifetime
, ve güncelleme ya lastPing
veya kullanıcı çıkış.
Oturum verileri ya dosya sistemi veya bir veritabanında saklanabilir. Bir veritabanında saklanır, daha sonra kullanıcı kimliği kullanıcı kaydı için bir yabancı anahtar ya, ya tüm verilerin kullanıcı kaydı konabilir.
Hashing
Bir değer birkaç kez rehashing iyi bir fikir değildir, çünkü reduce the security. Bunun yerine birlikte şifre ile, statik bir tuz (örneğin sayfanın adını) ve kullanıcı adını birleştirerek, tuz kullanın. Uzun bir zaman alır bir karma hızlı bir karma daha iyi değil, büyük bir sindiriminde sonuçlanan bir karma (nedeniyle kaba kuvvet) kısa sindiriminde sonuçlanan bir karma daha iyidir. SHA1 kullanarak normal bir site (IE, bir banka veya gizli bir askeri örgüt) için yeterince iyi olmalıdır.