Php Session'da Şifre Tutmak Gerekli Mi?
-
merhaba arkadaşlar bu session işini sanırım bi türlü kavrayamadım.
bu üyelik sistemi yapımı anlatan kişiler üyenin giriş yapıp yapmadığını session'daki girişlerden anlıyorlar
tamam. ben de öyle yapıyorum fakat session'da genelde kullanıcı id si ve kullanıcı adı tutup geçiyorlar
üye hesabının giriş yapılıp yapılmadığını kontrol etmek/ kullanıcının kim olduğunu anlamak için de bu session'daki username id ye bakıyorlar
fakat anlamadığım nokta o id ve üye adı başka bir şekilde session a yerleştirip hiç şifre bilmeden o üyelik ele geçirilemez mi?
sonuçta session'da üye adı var mı yok mu bi ona bakıyoruz. varsa diyoruz bu üye burada oturum açmış. sadece açarken şifre soruyoruz sonra session'da kimin id'si üye adı varsa o oturum açmış kabul ediyoruz. yani bir şekilde session'a istediğimiz bilgiyi koyabilirsek hiç şifre bilmeden üyeliğe giriş yapma şansımız oluyor.
bunu engellemek için password'u da session'daki username ile karşılaştırmak gerekmez mi? diye düşündüm.
yani session'da id, username ve password tutup. her kullanıcının oturum açıp açmadığını görmek için username-id-password eşleşmesi olup olmadığını kontrol etmem gerekmez mi?
biraz uzun mesaj oldu ama umarım anlatabilmişimdir sorumu...
kofcu tarafından 05/May/16 21:21 tarihinde düzenlenmiştir -
Session sunucu tarafında tutulduğu için insanların müdahale etme şansı yok hocam.
-
cache bunu yazdı
Session sunucu tarafında tutulduğu için insanların müdahale etme şansı yok hocam.
oh. aradığım cevap :) teşekkürler hocam o zaman hiç password falan gerek yok anladım.
diyordum ki şöyle bir kontrasorum var:
cookie'ye de session bilgilerini koyuyorum aynı username-user id. giriş yapılıp yapılmadığını kontrol eden sistem cookie doluysa eğer(username - id ile) session'a cookie'de yazılan değerleri atıyor ve üye girişi yapmışım gibi devam ediyor. bunda bir açık var mıdır?
yoksa cookie için özel olarak cookie'de password saklamam mı gerekir?
-
kofcu bunu yazdıcache bunu yazdı
Session sunucu tarafında tutulduğu için insanların müdahale etme şansı yok hocam.
oh. aradığım cevap :) teşekkürler hocam o zaman hiç password falan gerek yok anladım.
diyordum ki şöyle bir kontrasorum var:
cookie'ye de session bilgilerini koyuyorum aynı username-user id. giriş yapılıp yapılmadığını kontrol eden sistem cookie doluysa eğer(username - id ile) session'a cookie'de yazılan değerleri atıyor ve üye girişi yapmışım gibi devam ediyor. bunda bir açık var mıdır?
yoksa cookie için özel olarak cookie'de password saklamam mı gerekir?
Hocam bu yaptigin riskli. Cookie client tarafinda, yani ben senin bilgisayarindan cookie'yi alirsam kendi bilgisayarimda senin hesabina giris yapabilirim.
http://stackoverflow.com/questions/4773609/what-is-a-relatively-secure-way-of-using-a-login-cookie surarsi biraz fikir verebilir.
-
NmC bunu yazdıkofcu bunu yazdıcache bunu yazdı
Session sunucu tarafında tutulduğu için insanların müdahale etme şansı yok hocam.
oh. aradığım cevap :) teşekkürler hocam o zaman hiç password falan gerek yok anladım.
diyordum ki şöyle bir kontrasorum var:
cookie'ye de session bilgilerini koyuyorum aynı username-user id. giriş yapılıp yapılmadığını kontrol eden sistem cookie doluysa eğer(username - id ile) session'a cookie'de yazılan değerleri atıyor ve üye girişi yapmışım gibi devam ediyor. bunda bir açık var mıdır?
yoksa cookie için özel olarak cookie'de password saklamam mı gerekir?
Hocam bu yaptigin riskli. Cookie client tarafinda, yani ben senin bilgisayarindan cookie'yi alirsam kendi bilgisayarimda senin hesabina giris yapabilirim.
http://stackoverflow.com/questions/4773609/what-is-a-relatively-secure-way-of-using-a-login-cookie surarsi biraz fikir verebilir.
aynı mantıkla ne yaparsam yapayım giriş yapılır ki... alırsın cookie'yi giriş yapmış olursun. benim passwordu cookie'ye koyup koymamam bir şey değiştirmez yani.
link için teşekkür ederim şimdi okuyorum.
özetle bir cevap alırsam buradan da paylaşacağım aynı konuyu merak eden arkadaşlar da cevabı görsün diye.
-
her ihtimale karşı session'da kullanıcı id ile birlikte şifrenin md5 şeklini tutman daha mantıklı olur hocam güvenlik açısından.
-
-
-
Sadece kullanıcı ID'sini sessionda tut, cookieyi karıştırma hiç. Sessiona müdahale edemez kimse dışarıdan.
-
arkadaşlar cookie kullanmak istememin nedeni beni hatırla özelliği olmasını istemem. bilmediğim/düşünemediğim başka bir yolu mu vardır? ben bilmiyorum da varsa/öğrenirsem güzel olur.
onun dışında bu cookie yi güzel saklamanın yolunu şöyle buldum arkadaşlar.
Kullanıcı giriş yapar => session a id/username konur => aynı zamanda cookie'ye id/username ve rastgele bir token konur => aynı zamanda bir sql tablosunda bu token tutulur.
Kullanıcı tekrar siteyi ziyaret ettiğinde session boşsa ve cookie doluysa, cookie'deki token ile database'deki token karşılaştırılır.
=> Eşleşirse session'a o cookie'de depolanan id/username girilir + cookie'deki ve database'deki token güncellenir
=> Eşlenmezse kullanıcıdan tekrar giriş yapması istenir. Ekstra olarak kullanıcıya başka bir tarayıcıdan giriş yapıldı bilgisi verilse de hatta güzel bir ayrıntı olur :)
NmC müridin verdiği linkteki cevabı okudum. Çok net anlamasam da üç aşağı beş yukarı bu anlattığım şekle benzer şeyler demişler sanırım.
Bu şekilde kullanıcı hesabını bir yerde açık unutsa bile evinden giriş yaptıktan sonra oradaki hesabı kapanmış gibi olur.
Ek düşünce: Tabi böyle olunca da diyelim bi telefondan bi bilgisayardan giren biri sitenin bu özelliğine deli olabilir, çünkü sürekli browser değiştirdikçe giriş yapması gerekir. Sizce bu konuyu nasıl aşmalı? Cookie'yi her girişte değiştirmek yerine profiline "diğer bilgisayarlardan hesabımı kapat" butonu ekleyip o şekilde değiştirsek bir çözüm olabilir belki... Ama bu kez daha önce düşündüğümüz güzel ayrıntı "hesabınıza başka tarayıcıdan giriş yapıldı" uyarısı için başka bir şey düşünmemiz gerekiyor. Herneyse, görüş ve önerileri bekliyorum :)
kofcu tarafından 05/May/16 21:28 tarihinde düzenlenmiştir -
Beni hatırla olayında cookiede kullanıcı adını ve şifrenin MD5'li halini tutman yeterli. Daha sonra kullanıcı siteye girdiğinde cookiede kullanıcı adı ve şifre varsa tüm kodların başlangıcında login yaptırabilirsin. Tokenle vs uğraşmana gerek yok.
