Tabii, güvenli ama güvensiz şartlar / saldırıları önlemek için alınması gereken önlemler vardır.
Eğer hiç tarif ettik mekanizması ile yanlış bir şey yok. Ama uygulama eksik / belirsiz olduğunu. Şifre depolama ve giriş için kullanacağınız prosedürleri göz önünde bulundurmanız gerekir.
In response to a complaint, here's some issues OWASP brings up about authentication/sessions.
1. Are credentials always protected when stored using hashing or encryption?.
Evet, tuzlu sağlamalarının olarak kullanıcıların şifreleri saklamak.
2. Can credentials be guessed or overwritten through weak account management functions (e.g., account creation, change password, recover password, weak session IDs)?
Hayır, bu fonksiyonlar bir güvenlik sorusu / e-posta bağlantısı ile korunmalıdır.
3. Are session IDs exposed in the URL (e.g., URL rewriting)?
Hayır, bunlar olmamalı.
4. Are session IDs vulnerable to session fixation attacks?
Hayır, kullanıcıların oturum açma dışında herhangi bir araç ile kendi session id ayarlamak için izin vermez.
5. Do session IDs timeout and can users log out?
Kullanıcı aksi belirtilmediği değil durumlarda "iki hafta boyunca çevrimiçi kalmak", oturumları kısa zamanda tanıya götürecek sona gerekir.
6. Are session IDs rotated after successful login?
Evet kullanan session_destroy()
ve session_start()
bu başarmak olacaktır.
7. Are passwords, session IDs, and other credentials sent only over TLS connections?
Tabii.
Sonuçta, sen idare edeceksin veri türünü göz önünde bulundurmanız gerekir. Başka bir yerde onların veri tehlikeye olabilir beri birisi, bir kullanıcının şifre erişmek asla izin vermeyin. Eğer colorakitten.com çalıştırıyorsanız Ama, eğer kaçırılan seans olasılığı üzerinde gevşek değil uyku yapın: "Oh hayır, birileri hesabımı kesmek ve kedilerimi renksiz."
Okuyun: http://stackoverflow.com/questions/328/php-session-security