Merhaba arkadaşlar,
Üyelik sistemi ile ilgili bir sıkıntım var şöyle ki:
$tarayici = md5($_SERVER['HTTP_USER_AGENT'] . $_SERVER['REMOTE_ADDR']);
$kod = kod_uret(20);
$auth = $tarayici.$kod
bu şekilde bir kullanıcı kodu üretiyorum ve bunu hem sessiona hem de veritabanına kaydediyorum.
Bu şekilde chromeda açtığım bir oturumun PHPSESID'sini kopyalayıp Firefox'ta açtığım oturumun PHPSESID'sine yapıştırınca chrome ile giriş yapılan kullanıcının $auth'unu direkt getiriyor.
Yalnız $auth ve $tarayici'yı tekrar kontrol ettirirsem getirmiyor. Bu durumda oluşturduğum $auth kodunun bir anlamı kalmıyor.
Kafam durdu biraz ne yapmak gerekir?
Php Session ve Güvenlik
5
●996
- 09-04-2013, 19:07:05
- 10-04-2013, 18:16:55anlaşılan bir üyelik sisteminiz var ve kontrol yaptırmak istiyorsunuz.
Bunun en doğru yolu user pass bilgisini her sayfa isteğinde db kontrol ettirmektir.
Bu kadar uğraşmanıza gerek yok yanlış anlamadıysam yapmanız gerekenler şunlar
Şifrelerin md5 ile db kaydedildiğini farzediyorum.
Session a üyelik girişi yapılınca 3 değer kaydedin (2 de olabilir)
user name , şifre md5 li (veya db nasıl tutuyorsanız) , login kontrol değeri (1 olabilir)
Üye login olunca sesion a yazdığınız üyelik bilgisini her sayfa isteğinde db den tekrar kontrol edin
veriler doğruysa session a db den gelen bilgileri tekrar yazın
bunu her sayfa isteğinde tekrar yapın.
bunu yaptığınız zaman herhangibir şekilde kontrol yaptırmana gerek kalmayacaktır.
tavsiye session bilgisini herhangibir şekilde sayfaya veya adres çubuğuna bastığınız herşeyden uzak dur - 10-04-2013, 20:30:57Kimlik doğrulama veya yönetimden onay bekliyor.Hash'li de olsa parola bilgisinin session yada cookie'de tutulmasını doğru bulmuyorum.Crash adlı üyeden alıntı: mesajı görüntüle
- 12-04-2013, 02:33:59sanırım her tarayıcı için farklı bir auth kod oluşturmak istiyorsunuz ? doğrumu anladım ?
- 12-04-2013, 05:08:24Kimlik doğrulama veya yönetimden onay bekliyor.Saniyorum arkadas guvenligi sormus,
session icerigi herzaman guvenlidir, sen yazar sen silersin, session ile userin tek baglantisi phpsessionid dir, eger istersen bunu kendin kodlayabilirsin
guvenlik acisindan en guzeli icinde ip adresinin oldugu bir session start yontemi secmektir.
orn : md5(key.ip_adresi)
bu senin session id olsun ornegin, eger sen bununla session baslatirsan ve bunu check edersen, herhangi bir sekilde (xss, trojan vs..) kullanici cookielerini kaptirsa bile baska ip adresinde gecerli bir session baslatamaz.