ASP Session.ID Hakkında Bir Kaç Soru
-
Şimdi abüler birkaç sorum var bunlara cevap bulabilirsem aklımdaki bir uygulamayı yapıcam ama araştırma yapmama ramen emin değilim.
1. Session.ID engellenebilir mi? mesela herhangi bir program veya browser ile session.ID nin boş çıkmasını sağlayabilir miyim?
2. Session.ID session oturumu açılınca oluşuyor ok. Peki bu session oturumu neye göre açılıyor neye göre kapanıyor bunun süresini nasıl belirleyebilirim?
sanırım session.abandon (emin değilim) veya session.timeout bu session idsine etki ediyor değil mi?
3. Session.ID hangi kriterlere göre oluşuyor? (tarih saat veya random mu?)
4. session.ID oluşturduğumda sayfayı,browseri kapamadan bu session.ID yi değiştirmem mümkün mü?
5. session.ID oluşturduğumda sayfayı,browseri kapamadan bu session.ID kafasına göre hiçbir etken olmadan otomatik değişir mi?
6. session.ID oluşturduğumda sayfayı,browseri kapamadan bu session.ID nin değişmesindeki etkenler nelerdir? (session timeout veya abandon dışında)
mesela sayfayı açtım, session.id oluştu. login oldum. session id değişir mi?
7. Sürekli sayfaya otomatik session.id nasıl oluşturtabilirim (her yenilememde oluşsun fakat denyo vs gibi prolarla deil opera,mozilla gibi tarayıcılarla)
Cevap alabilirsem bu sorulara çok müteşekkir olcam
-
bu arada uykusuzluktan saçmalamışım cümleleri tek tek açıklamayayım siz anlarsınız + Session.SessionID olduğunu biliyorum hızlı yazayım diye şey ettim buda bi düzeltme olsun.
-
1) Engellenemez, Session.SessionID browseri açtığın anda random atanan ve sen müdahele etmediğin sürece, yanlış bilmiyorsam default değeri 60dk boyunca aktif olan bir değerdir.Süre konusunda yanlışta biliyor olabilirim :)
2) etki ediyor.
3) cevabı 1nci maddede
4) mümkün
5) 1nci madde de belirttiğim süre hariç hayır
6) session timeout veya abandon dışında senin müdehalenin haricinde bir eylem olmaz.
7) öyle ayrı gayrı yok :D programla olmasın operada olsun die bişi yok . cevap 6ncı madde de (:
-
ibosoft bunu yazdı:
-----------------------------1) Engellenemez, Session.SessionID browseri açtığın anda random atanan ve sen müdahele etmediğin sürece, yanlış bilmiyorsam default değeri 60dk boyunca aktif olan bir değerdir.Süre konusunda ve böyle bir sınırlama konusunda yanlışta biliyor olabilirim :)
2) etki ediyor.
3) cevabı 1nci maddede
4) mümkün
5) 1nci madde de belirttiğim süre hariç hayır
6) session timeout veya abandon dışında senin müdehalenin haricinde bir eylem olmaz. 1nci maddeki süre olayını geçmediği sürece
7) öyle ayrı gayrı yok :D programla olmasın operada olsun die bişi yok . cevap 6ncı madde de (:
-----------------------------üstteki mesajımı silin :D
-
benim başıma bişey geldiydi:|
örn: rnd elde ettiğim değeri session.sessionid sıkıldım tribiyle sessiona atadım.
ardından select case
case
end select yaptım
ve caselerden birinde sessionu çağırdım.
diğer sayfaya geçince session değişti.
değişmemesi lazımdı demi:| biri bana bunun normal olmadığını söylesin:| yok söylemesin, ya değilse kafam karışır:S
amma session.sessionid sayfa kapanmadığı sürece alıp başını gidiyor.
sayfanızı kapattığınızda veya.. <a href=session.sessionid></a> şeklindeki sayfadaki linki kopyalayıp adresbardan çapırdığınızda session.sessionid değişiyor.
velhasılın güzel bişey md5(session.sessionid) yapınca bir acayip karizma oluyor:X
-
peki?
bu session.id nin geçici bellekte olduğu söylenegelen bişey.
bir server düşünün..içinde 10 tane site var.
a sitesinde adam ?id=session.sessionid şeklinde link vermiş.
ben b sitesinden http://a/?id=session.sessionid şeklinde link verip o sayfaya gelsem ?
oluşan sessionlar aynımı olar ?
olmaz demeyiniz. çünkü kullanılan bellek aynı ?
olursa bu session dedikleri bişeye yaramaz
veya session geçici bellek tarafından atanır tezi çürük:F
-
ibosoft cevap için saol :D
Tuna :/ eğer bu session server tarafından atanıyorsa mutlaka değişcektir aksi halde dediğin mümkün olabilir gibi
-
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
-
aynı olabilme denk gelme ihtimali belki olabilir ama sanmıyorum. session id ile üyelik şeysi yapmayacağım için içim rahat bana bu üyeye kimlik verme, ve o kimlikle aynı ip ve browserdeki kişileri ayırt etmek için lazım :D bu 20 dk sınırını uzatamaz mıyız?
-
abi üye login olurken o sayfaya
session("seviye")="admin"
yaz tamma işte seviyesi bu sonra
if end if ile de tanımlarsın bkz :
<% if session("seviye")="admin" then%>
canım adminim benim
<% end if %> bu ara mysql forum yapıyom da ondan biraz kasdım :D
bide session u uzatabilirsimn o senin elinde ( diye biliyorum =)
-
geçen hafta bi hosting scripti yazmıştım ondaki kodu vereyim sanırım dediğin şey (yani anladığım kadari ile )
<%
Session.LCID = 1033
tarih1 = now()
tarih2 = DateAdd("n" , -10, Now())
set foxxly = server.createobject("ADODB.Recordset")
sql = "select * from user where songiris between #" & tarih1 & "# and #" & tarih2 & "# "
foxxly.open sql,sur,1,3
if foxxly.eof Then
response.write "<b><font face=Verdana size=2 color=#FF0000>Destek ( Offline )</font></b>"
else
for i = 1 to 10
if Foxxly.eof then exit for
response.write "<b><font face=Verdana size=2 color=#FFAD5B>Destek "&i&" ( Online )</font></b><br>"
Foxxly.movenext
Next
Foxxly.close
set Foxxly = Nothing
end if
%>sen destek yazan yerde ip ve browser bilgilerini yazarsın onlar içinde ayrı bi tablo oluştur böle bişi işte umarum doğrı anladım :|