ASP Session.ID Hakkında Bir Kaç Soru
-
yok benim amacım şu, siteye gelen giden herkes sistem dbsinden ayrıca başka bir dbde günlük olarak kayıt alıyor. fakat uygulamayı yapmış olduğum platform diyelim, orada mecburen aynı ip, aynı browserlar clone gibi çoğunlukta. benim amacım random sayı vermek yerine session.id vermek bu session.id eğer değişikse
aynı browsera db de yeni kayıt ekletmek. eğer session.id değişik değilsede veriyi güncelleyip çıkış tarihi belirtmek. bir nevi sayaç gibi düşün
ama ipler aynı olduğu için bunu session id ile yapıyorum farzet.
benim amacım session.id nin mantığını kavramak gerisini hallederim zaten kolay iş :P
-
abi session.id = geçici kimlik numarası gibi bişey ne bilim benim bildiğim anca bu kadar :|
sayfayı kapa aç farklı session oluşacak eğer öle yaparsan çok pis veri eklenir :| her kapa-aç yaptığında yeni session sonra yeni veri :|
aslında da dediğin şey aktif üye olayı gibi. zamanında alp hocamla yapmıştık. üye sayfa gezdikçe tarih update oluyo ve aktif olarak görünüyo. eğer direk pencereyi kapamışsa sessionlar kapanana kadar aktif olarak görünüyor. sende böle yaparsın. ama bence ip ile yap. sonuçta sayfayı kapa aç ip değişmiyor ama session değişiyor :|
-
tamamda benim o dbdeki veriler tarihe göre saat başı silincek :D o yüzden sorun olmayacak.
peki bu session.timeout bildiğim kadarıyla,
üye girdi session atandı 1 2 saat gezdi.. atıyorum session.timeout 5 yaptım. kullanıcı 5 dk aktif gözükmezse sitede sessionu iptal ediyor.. değilmi?
yoksa 5 dk da bir sessionun değişmesini mi sağlıyor?
-
iptal ediyo. sonra eğer f5 filan yaparsa yeni session atıyo. timeout u kendin belirleyebilirsin. 5 yerine 60 filan yaparsın. 60 dk sonra kapatır sessionları.
veya 1 yap (hiç denemedim) dk başı yeni session versin :)
-
FOXXLY bunu yazdı:
-----------------------------session ile ilgili bi anım var. aslında sessionlar tehlikeli bişey yani olayı yaşadıktan sonra url ye session yazdırmak kadar .. (aklıma gelmeyen bi ifade var burada ) .. bir olay yapmam. çünkü , olay şuydu
bi arkadaşım bi smf forum kurulu sitede gezinirken bi link görüyo ve url yi komple (sessionlar dahil) bana yazıyor bende tıklıyorum ve ne görüyüm ? direk onun k. panelindeyim sanki onun adıyla giriş yapmış gibi :| evet aynen öle. sonra aklıma geldi ? ya ben admin girişi yapmışken başkasına link verseydim ? veya o linki farklı forumlarda dağıtsaydım ? sessionlar kapanmadan giren herkes admin olarak görüncek ve gerisini düşünmek istemiyorum :| hee ama şöle yaparsın url deki session u kontrol ettirisin eğer doğruysa geç değilse bsg dersin. olur biter.
bi de sessionlar 20 dk sonra kapanıyo default olarak gelen ayar bu . değiştirilebilir tabi.
bide benim aklıma takılan bişey : random olayında aynı kişiye aynı id i verirse noolacak ? imkansız olacağını sanmıyorum (çok bilgim yok mantıken düşündüm) çünkü asp da random yap. aynı sayfada 2 kere aynı şeyi gösterdiği oluyo ?! yani ne kadar karıştırırısan karıştır. sonuçta asp sayfalarda aynısı geliyo :| bu sunucu içindede geçerli olabilirmi acaba :|
baya uzun yazdum :D 2 haftadır yoktum özlemişim şerefsizim :D
-----------------------------foxxly söylediğine ilişkin olsa gerenk, bir fonksiyon buldum.
heralde galiba sanırsam böle durumlarda iş görür
Public Function IsBlank(byref TempVar)
IsBlank = False
select case VarType(TempVar)
case 0, 1 '--- Empty & Null
IsBlank = True
case 8 '--- String
if Len(TempVar) = 0 then
IsBlank = True
end if
case 9 '--- Object
tmpType = TypeName(TempVar)
If (tmpType = "Nothing") Or (tmpType = "Empty") Then
IsBlank = True
End If
case 8192, 8204, 8209 '--- Array
if UBound(TempVar) = -1 then
IsBlank = True
end if
end select
End FunctionIf IsBlank(Session("OkLogin")) Then
response.redirect("Login.asp")
End Ifhayrını görelim
-
bu fonksiyonun mantık olarak napmaya çalıştığını bilenler anlatabilirmi
