Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

php'de login sistemi için session ve cookie

sağlam bir login sistemi yazmak için uğraşıyorum iki gündür. cookie ile session'u başta beraber kullandım ancak cookie kullanırken session kullanmak ne derece mantıklı bilemiyorum çünkü aynı işi yapabiliyor. tabi arka tarafta session veri saklıyor ama onun gerekliliğini de henüz kavrayabilmiş değilim.
sadece cookie kullanarak güvenli açıksız bir sistem yapılabilir mi soruna cevap arıyorum aslında. cookie'min genel hattı şöyle:
USER_ID_NO | COOKIE_EXPIRATION_TIMESTAMP | HASH_KEY
cookie'nin son geçerlililik tarihini, kullanıcının id numarasını ve şifresini php'nin hash_hmac fonksiyonu ile md5'liyorum. böylece cookie'nin son kullanım tarihi değiştirilemiyor, kullanıcı aynı şekilde id no'sunu değiştirerek başka bir kullanıcının cookie'sine sahip olamıyor ve hash_hmac fonksiyonu ile de şifreleme özelleştiriliyor (unique key ile).
diğer bir opsiyon olarak da kullanıcı giriş yaptığında active_users tablosuna rasgele bir key oluşturarak satır girerim ve her seferinde burdan kontrol edilir. ama bunun performansı biraz düşüreceği kaanatindeyim o yüzden emin olamadım.
kullanıcının opsiyonuna göre cookie'yi tarayıcı kapanınca ya da 2 hafta sonra sil gibi ayarlayabiliyoruz malum ve kullanıcı da hash key sayesinde cookie'nin son kullanım tarihini değiştiremiyor. siz neler düşünüyorsunuz peki yeterli mi sadece cookie?
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • Yazar_baris adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    25 cevap - 11 soru
    cookie'nin bilgisayarda saklanmasından dolayı kendisine karşı biraz antipatim var. O nedenle genelde session kullanıyorum ve söylediğin gibi her oturum için eşsiz bir anahtar oluşturarak, herseferinde kontrol ediyorum. Böyle çift logini de önlüyorum.

    Performansa gelince 1000 lerle ölçülen satırlık kodları görünce artık sırf performans için kendimi sınırlamıyorum. Sonuçta worpress vb. yapılar neredeyse her elementi dinamik olarak veri tabanından alıyor. Yani performans kaygısı ile kendini sınırlandırmak yerine biraz daha iyi bir server hizmeti almakla o sorunu çözebilirsin.

Cevaplar

  • Severus adlı üyenin fotoğrafı
    9 yıl önce yazılmış
    5 cevap - 8 soru
    cookie ler kullanici tarafindan manipule edilebilir, ama sessionlarla bunu yapmak biraz daha zor
    • buremba adlı üyenin fotoğrafı buremba
      haklısınız tabi ama açık bırakmadıktan sonra manipule edemez de kullanıcı zaten. ufak bir araştırma yaptım şimdi ve wordpress'in de şu anda session'larla çalışmadığını öğrendim.
      9 yıl önce yazılmış