From: Omer ILK (OmerILK@YazilimVadisi.com)
Date: Thu 27 May 2004 - 16:14:10 EEST
> Bi saniye peki istemcide cookie ler aktif degilse nasil yapicak??
Ziyaretciye cookie desteginiz aktif degilse kullanamazsiniz denebilir.
cookie olmadan da calissin derseniz session id sini get ve post a gommekten
baska sansiniz kalmiyor.
> Zaten benim Oturum ID degeri uretip bunu POST ve GET ile surekli
> dolandirmamin asil sebebi bu ...
> Cookie kullanmaktan onun icin kaciyorum ..
> Dediginiz cookie kullanirsam bunun zamanini belirleyip o zaman sonra devre
> disi kalmasini saglayabilirim ama olusan bir degeri veritabanina
> yaziyorsunuz ve diyelim ayrica bunun olusturma tarihini de veritabanina
> aktariyorsunuz diyelim ... peki uye browser i kapattigi anda bunu nasil
> algilayip oturum ID degerini sifirliyorsunuz?
php nin session sistemini kullanirsaniz zamani gecmis session lar otomatik
olarak temizlenir. Session i db de tutmak isterseniz session fonksiyonlarini
ozellestirip session_set_save_handler ile sisteme tanitabilirsiniz.
Internette bununla ilgili ornekler bulunuyor.
> Yada sureli bir islem yaptiniz diyelim??
> bunun icin php yi bildigim kismi ile sistem uzerinde yani script gibi
> calistirmaniz gerektigi kanisindayim web uzerinden bu sureyi hesaplatip
> sifirlamaniz baya satafatli gibi gozukuyor?
> yani cron da calisan bir uygulama gibi bir sey olmasi gerekiyor ve
> veritabanindaki bu Oturum ID olusturma surelerini kontrol edip yarim saat
> gectigi takdirde ve bir islem olmadigi zaman degeri sifirlamaniz gerekiyor
php.ini de session.gc_maxlifetime parametresi ile session in silinmesi icin
gecmesi gereken sure tanimlanir. Varsayilan deger 1440sn. 1440sn sonra
session icindeki bilgiler gecersiz duruma gelir ama silinmez. Silinmesi
icin;
session.gc_probability = 1
session.gc_divisor = 100
parametrelerindeki tanim kullanilir. 1/100 -> %1 olasilikla her istekte
session temizleme rutini cagirilir.
> Eger bu islemi web uzerinden yapabiliyorsaniz .. bu uygulamanizi ben de
> gormek isterim ...
>
> ayrica session kullanarak bu degeri sifirlamaniz da pek mumkun degil
> gibii .. sadece yeni bir browser acilip ayni kullanici sisteme login
> oldugunda degerin farkli oldugu gorulup .. degistirilmesi mumkun gibi
> gozukuyor ... Denemedigim ve kullanmadigim icin sadece fikir
> yurutebiliyorum .. ama veritabanina browser kapaninca mudahale edebilecegi
> pek ihtimallerim arasinda yer almiyor ...