• 09-04-2013, 19:07:05
    #1
    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?
  • 10-04-2013, 17:37:16
    #2
    Yapmak istediğiniz şey tam olarak nedir? İki farklı tarayıcıda ne yapmak istiyorsunuz tam olarak, ürettiğiniz kod tarayıcıdan tarayıcıya farklılık gösterecek. Soruyu biraz daha açarsanız, düşünmemize yardımcı olur bizimde..
  • 10-04-2013, 18:16:55
    #3
    anlaşı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:57
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Crash adlı üyeden alıntı: mesajı görüntüle
    anlaşı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
    Hash'li de olsa parola bilgisinin session yada cookie'de tutulmasını doğru bulmuyorum.
  • 12-04-2013, 02:33:59
    #5
    sanırım her tarayıcı için farklı bir auth kod oluşturmak istiyorsunuz ? doğrumu anladım ?
  • 12-04-2013, 05:08:24
    #6
    Kimlik 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.