• 06-11-2018, 01:02:27
    #1
    PHP Session hakkında bir sorum olacak arkadaşlar,

    Az önce bir arkadaşa yardım etmek için bir kod yazmıştım. Oradan aklıma geldi.


    Şimdi $_SESSION ile bir şeyi kaydettiğimizde aslında açılmış olan bir oturuma (Sunucu bazlı) veri kaydetmiş oluyoruz.

    Açıklamalara göre de oturum kapatıldığında (Yani browser) sunucudaki o session otomatik olarak siliniyor.

    Siliniyor derken (Sunucuya atılan o veri sunucudan mı siliniyor, yoksa sadece o oturuma sahip kişi ile bağlantısı mı siliniyor?)

    Kısacası kayıt ettiğimiz bir SESSION'u kullanıcı browseri kapattığında ayrıca unset($_SESSION) yapıp silmemiz gerekir mi? (Yani sunucuda boştan yere yer kaplamaması için)
  • 06-11-2018, 01:14:37
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Prototype adlı üyeden alıntı: mesajı görüntüle
    PHP Session hakkında bir sorum olacak arkadaşlar,

    Az önce bir arkadaşa yardım etmek için bir kod yazmıştım. Oradan aklıma geldi.


    Şimdi $_SESSION ile bir şeyi kaydettiğimizde aslında açılmış olan bir oturuma (Sunucu bazlı) veri kaydetmiş oluyoruz.

    Açıklamalara göre de oturum kapatıldığında (Yani browser) sunucudaki o session otomatik olarak siliniyor.

    Siliniyor derken (Sunucuya atılan o veri sunucudan mı siliniyor, yoksa sadece o oturuma sahip kişi ile bağlantısı mı siliniyor?)

    Kısacası kayıt ettiğimiz bir SESSION'u kullanıcı browseri kapattığında ayrıca unset($_SESSION) yapıp silmemiz gerekir mi? (Yani sunucuda boştan yere yer kaplamaması için)
    silmeniz gerekmez sunucu zaten belli bir süre sonra o kullanıcıya ait özel olarak oluşturulmuş olan dosyanın içeriğini siler.
    Not: Kullanıcıya özel olarak oluşturulan dosyanın içeriği silinir ve sunucuda yer kaplamaz fakat dosya 0 kb olarak sunucuda durur.

    Eğer hiç tmp klasörünü temizlemezseniz bir süre sonra o klasör üzerinde çok fazla dosya olacaktır. Detayları çok fazla bilmiyorum ama 3-4 ay lık bir sitenin tmp klasörü ve hit fazla yok.

    İsteğe bağlı temizleyebilirsiniz bir zararı yoktur sadece linux üzerinde 1 klasörde kaç dosya olabileceğini hatırlamıyorum ama 4 milyar dı sanırım o sınırı aşarsa birşeyler olabilir belki yada boş olarak oluşturulan dosyalarının üzerine yazar.Kesin bir fikrim yok bu konuda.

    Linux Klasör Limitleri için:

    Kaynak : https://unix.stackexchange.com/quest...der-size-limit
    FAT32:
    • Maximum number of files: 268,173,300
    • Maximum number of files per directory: 216 - 1 (65,535)
    • Maximum file size: 2 GiB - 1 without LFS, 4 GiB - 1 with
    NTFS:
    • Maximum number of files: 232 - 1 (4,294,967,295)
    • Maximum file size
      • Implementation: 244 - 26 bytes (16 TiB - 64 KiB)
      • Theoretical: 264 - 26 bytes (16 EiB - 64 KiB)
    • Maximum volume size
      • Implementation: 232 - 1 clusters (256 TiB - 64 KiB)
      • Theoretical: 264 - 1 clusters
    ext2:
    • Maximum number of files: 1018
    • Maximum number of files per directory: ~1.3 × 1020 (performance issues past 10,000)
    • Maximum file size
      • 16 GiB (block size of 1 KiB)
      • 256 GiB (block size of 2 KiB)
      • 2 TiB (block size of 4 KiB)
      • 2 TiB (block size of 8 KiB)
    • Maximum volume size
      • 4 TiB (block size of 1 KiB)
      • 8 TiB (block size of 2 KiB)
      • 16 TiB (block size of 4 KiB)
      • 32 TiB (block size of 8 KiB)
    ext3:
    • Maximum number of files: min(volumeSize / 213, numberOfBlocks)
    • Maximum file size: same as ext2
    • Maximum volume size: same as ext2
    ext4:
    • Maximum number of files: 232 - 1 (4,294,967,295)
    • Maximum number of files per directory: unlimited
    • Maximum file size: 244 - 1 bytes (16 TiB - 1)
    • Maximum volume size: 248 - 1 bytes (256 TiB - 1)

  • 06-11-2018, 01:18:14
    #3
    Üyeliği durduruldu
    Sunucudan çıkış yaptığında evet. çerezlere kaydedin.
  • 06-11-2018, 01:33:10
    #4
    farukkprn adlı üyeden alıntı: mesajı görüntüle
    silmeniz gerekmez sunucu zaten belli bir süre sonra o kullanıcıya ait özel olarak oluşturulmuş olan dosyanın içeriğini siler.
    Not: Kullanıcıya özel olarak oluşturulan dosyanın içeriği silinir ve sunucuda yer kaplamaz fakat dosya 0 kb olarak sunucuda durur.

    Eğer hiç tmp klasörünü temizlemezseniz bir süre sonra o klasör üzerinde çok fazla dosya olacaktır. Detayları çok fazla bilmiyorum ama 3-4 ay lık bir sitenin tmp klasörü ve hit fazla yok.

    İsteğe bağlı temizleyebilirsiniz bir zararı yoktur sadece linux üzerinde 1 klasörde kaç dosya olabileceğini hatırlamıyorum ama 4 milyar dı sanırım o sınırı aşarsa birşeyler olabilir belki yada boş olarak oluşturulan dosyalarının üzerine yazar.Kesin bir fikrim yok bu konuda.

    Çok teşekkürler gayet açıklayıcı oldu benim için. Hatta ve hatta kafamdaki bir diğer soruya da net ve kesin bir cevap oldu. (Zaman aşımı)

    Yani browseri kapatsa bile hemen açınca silinmiyor. (default bir zaman aşımı var) hatta onu da set edebiliyoruz da o benim için önemli değil zaten.

    İşte ne bileyim o zaman aşımından sonra siliyor mu silmiyor mu? Sunucuda yer kaplar mı? Vesaire biraz muallakta idi. Böylelikle silindiğini öğrenmiş oldum.

    Ama bahsettiğiniz gibi belirli aralıklarla 0kb lık dosyaları da silmekte fayda var.

    tekrar teşekkürler
  • 06-11-2018, 01:36:19
    #5
    Prototype adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkürler gayet açıklayıcı oldu benim için. Hatta ve hatta kafamdaki bir diğer soruya da net ve kesin bir cevap oldu. (Zaman aşımı)

    Yani browseri kapatsa bile hemen açınca silinmiyor. (default bir zaman aşımı var) hatta onu da set edebiliyoruz da o benim için önemli değil zaten.

    İşte ne bileyim o zaman aşımından sonra siliyor mu silmiyor mu? Sunucuda yer kaplar mı? Vesaire biraz muallakta idi. Böylelikle silindiğini öğrenmiş oldum.

    Ama bahsettiğiniz gibi belirli aralıklarla 0kb lık dosyaları da silmekte fayda var.

    tekrar teşekkürler
    bunu yaparken dikkatli olun eğerki 0 kb olmayan bir dosya silerseniz o an oturum açılmış bir kullanıcının oturumu patlar.
  • 06-11-2018, 01:36:23
    #6
    oxcakmak adlı üyeden alıntı: mesajı görüntüle
    Sunucudan çıkış yaptığında evet. çerezlere kaydedin.
    tam olarak anlamadım hocam demek istediğinizi.

    Bahsettiğiniz Çerez (cookie) ise o Client-side çalışır. Güvenliğin gerektiği noktalarda "cookie" kullanamayız. Session ise Server-side çalışır.