webForumDet fria alternativet

Session.TimeOut

8 svar · 482 visningar · startad av Biasse

BiasseMedlem sedan aug. 2003482 inlägg
#1

Har en inloggning på min sida som jag har timeoutproblem på. Kör idag med "Session.TimeOut=120" men den loggar ut tidigt ändå.

Finns det inget annat sätt att styra detta bättre? tex på min asp upload har jag "Server.ScriptTimeOut = 10000" och det funkar kanon.

SaschMedlem sedan nov. 2002220 inlägg
#2

Session.Timeout = Int har alltid fungerat bra där man byter ut int mot ett tal. Annars kan du ju använda kaka för att hålla koll på användaren...

Response.Cookies.Expires = DateAdd("h", 2, Now())
voigtann1Medlem sedan juni 20018 810 inlägg
#3

1. Vad fungera inte?
2. Varför fungera inte Session.Timeout = 120 bra för dig? Vad förväntar du dig att ett annat skript skall göra?

BiasseMedlem sedan aug. 2003482 inlägg
#4

Vet inte.. min kontrollfil ser ut såhär:

<%
Function secure(txt) 
  txt = Replace(txt, "'", "''") 
  secure = txt 
End Function

Session.TimeOut=120

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\webb\sat\db\admin.mdb"
Set RecSet = Server.CreateObject("ADODB.Recordset")

anvNamn		= secure(Request.Form("anvnamn"))
losenord	= secure(Request.Form("losenord"))

SQL = "SELECT niva FROM admin WHERE anvnamn='" & anvnamn & "' AND losenord='" & losenord &"'"
RecSet.Open SQL, Connect, 3, 3

If not RecSet.EOF Then
  Session("niva") = RecSet("niva")

  If RecSet("niva")="1" Then
    strPage="index.asp"
  elseIf RecSet("niva")="2" Then
    strPage="forum/default.asp"
  elseIf RecSet("niva")="3" Then
    strPage="forum2/default.asp"
  elseIf RecSet("niva")="4" Then
    strPage="koll.asp"

  End If

' Här loggas IP när rätt lösenord och password angetts
  SQL = "INSERT INTO iplogg([username],[ip],[loginstatus],[tid]) values ('"& anvnamn &"','"& Request.Servervariables("REMOTE_ADDR") &"','OK',#"& now() &"#)"
  Connect.execute(SQL)

  Response.Redirect strPage
else
' Här loggas IP när fel lösenrod och password angetts

  query="INSERT INTO iplogg([username],[ip],[loginstatus],[tid]) values ('"& anvnamn &"','"& Request.Servervariables("REMOTE_ADDR") &"','Fail',#"& now() &"#)"
  Connect.Execute(query)
end if
  RecSet.Close : set recset = nothing
  Connect.Close : set connect = nothing

  Session("session") = "fel användarnamn eller lösenord"
  Response.Redirect "start.asp"
%>
voigtann1Medlem sedan juni 20018 810 inlägg
#5

Och det fungera inte? Vad gör Session.TimeOut=120 som du inte vill att den ska göra?

BiasseMedlem sedan aug. 2003482 inlägg
#6

Man loggas ut efter några minuter bara

voigtann1Medlem sedan juni 20018 810 inlägg
#7

Vilken av sessionarna kontrollera du "efter" du har blivit inloggad? Session("Session") eller Session("niva") ?

BiasseMedlem sedan aug. 2003482 inlägg
#8
<%
If NOT Cint(Session("niva")) >=3 Then
Session("session") = "Du måste logga in först!"
Response.Redirect "index.asp"
ELSE
end if
%>
SaschMedlem sedan nov. 2002220 inlägg
#9

Använd Session.Contents("niva") istället. Det är snällare mot burken. Liksom Session.Contents.Timeout (tror jag ska fungera).

Glöm inte att flusha Sessionen efter det att du har sparkat ut användaren annars kan datorn bli väldigt trött på några få användare bara. Session.Contents.Flush tror jag det är - finns i IIS-manualen annars (Som jag inte har tillgång till för tillfället).

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb