05. oktober 2002 - 00:57Der er
7 kommentarer og 1 løsning
Sessions
Jeg er ved at lave et Intern mailsystem eller det er faktisk færdigt, men jeg har bare et lille problem.
Jeg har også lavet dette login script med autologin, som høre til. I mit mail system har jeg en check på om den mail de læser tilhøre dem. If Session("AdminID") = rsReadMail("MAIL_AFSENDER_USRID") or Session("AdminID") = rsReadMail("MAIL_MODTAGER_USRID") Then Hvis så session.Timeout løber ud, så kan de ikke se deres mails, før at de har logget ud og ind igen. Hvis jeg så sætter Session.Timeout til 0 eller fjerner Session.timeout fra login scriptet, så sker der stadig det samme, hvis man vil læse sin mail, altså session.timeout løber stadigt ud.
Så er der også en anden underlig ting. SQLMAILBOX = "SELECT * FROM MAILBOX WHERE MAIL_MODTAGER_USRID = "& Session("AdminID") &" " SQLMAILBOX = SQLMAILBOX & "AND MAIL_SLETTET_AF_MODTAGER = False " SQLMAILBOX = SQLMAILBOX & SQLORDERBY Set rsMailBox = conntemp.execute(SQLMAILBOX)
Denne SQL streng virker stadig væk, selvom session.timeout er løbet ud, men det andet som er skrevet ovenover virker ikke. Er der en der kan svarer mig på, hvorfor det ene virker, men det andet ikke gør ?
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Her er mit login script, som sætter session.timeout
>> autologin.asp (som er indcluderes på alle sider)<<
<% If Not Session("AdminPass") = "OK" Then If Request.Cookies("autologin_cichlide-net")("AdminPass") = "OK" Then Session("AdminPass") = "OK" Session("AdminUser") = Request.Cookies("autologin_cichlide-net")("AdminUser") Session("AdminAlias") = Request.Cookies("autologin_cichlide-net")("AdminAlias") Session("AdminLevel") = Request.Cookies("autologin_cichlide-net")("AdminLevel") Session("AdminID") = Request.Cookies("autologin_cichlide-net")("AdminID") Session("AdminEmail") = Request.Cookies("autologin_cichlide-net")("AdminEmail") Session("AdminTime") = Time Session("AdminDate") = Date Session.Timeout = 120 log(session("AdminUser") & " **LOGGED ON !AUTOLOGIN!**") 'Call AddOnlineUser() Set conntemp = Server.CreateObject("ADoDB.Connection") conntemp.open DSN SQLSIDSTLOGGETIND = "UPDATE USERS SET U_SIDST_LOGGET_IND = #"& Now() &"# WHERE UID = "& Session("AdminID") conntemp.Execute(SQLSIDSTLOGGETIND) End If End If %>
>> login.asp (selve login siden)<<
<% If request("mode") = "checkpass" Then On Error Resume Next Set conntemp = Server.CreateObject("ADoDB.Connection") conntemp.open DSN SQL = "SELECT * FROM USERS WHERE U_BRUGERNAVN = '"& Request("U_BRUGERNAVN") &"'" Set rstemp = conntemp.Execute(SQL)
If Not Request("U_PASSWORD") = rstemp("U_PASSWORD") Then log("(" & Request("U_BRUGERNAVN") & ") ** MISSTYPED PASSWORD **") Response.Redirect "index.asp" Else Session("AdminPass") = "OK" Session("AdminUser") = rstemp("U_BRUGERNAVN") Session("AdminAlias") = rstemp("U_NAVN") Session("AdminLevel") = rstemp("U_USRLEVEL") Session("AdminID") = rstemp("UID") Session("AdminEmail") = rstemp("U_EMAIL") Session("AdminTime") = Time Session("AdminDate") = Date Session.Timeout = 120 If Request("autologin") = "OK" Then Response.Cookies("autologin_cichlide-net")("Adminpass") = "OK" Response.Cookies("autologin_cichlide-net")("AdminUser") = rstemp("U_BRUGERNAVN") Response.Cookies("autologin_cichlide-net")("AdminAlias") = rstemp("U_NAVN") Response.Cookies("autologin_cichlide-net")("AdminLevel") = rstemp("U_USRLEVEL") Response.Cookies("autologin_cichlide-net")("AdminID") = rstemp("UID") Response.Cookies("autologin_cichlide-net")("AdminEmail") = rstemp("U_EMAIL") Response.Cookies("autologin_cichlide-net").Expires = Now() + 365 End If
log(session("AdminUser") & " ** LOGGED ON **") 'Call AddOnlineUser() Set conntemp = Server.CreateObject("ADoDB.Connection") conntemp.open DSN SQLSIDSTLOGGETIND = "UPDATE USERS SET U_SIDST_LOGGET_IND = #"& Now() &"# WHERE UID = "& Session("AdminID") conntemp.Execute(SQLSIDSTLOGGETIND) Response.Redirect "index.asp" rstemp.close Set rstemp = Nothing End If
Det virker fint nok man logger ind, men hvis man har autologin på og lukker browseren og starter siden igen, så har den slettet alle sessions, men ikke alle steder f.eks. ikke her: SQLMAILBOX = "SELECT * FROM MAILBOX WHERE MAIL_MODTAGER_USRID = "& Session("AdminID") &" " SQLMAILBOX = SQLMAILBOX & "AND MAIL_SLETTET_AF_MODTAGER = False " SQLMAILBOX = SQLMAILBOX & SQLORDERBY Set rsMailBox = conntemp.execute(SQLMAILBOX)
Men det gør den i den anden linje som jeg skrev i mit første indlæg....
Det kan godt være at den virker med de nyere versioner af internet explore, men vi skal have den til at virke med at alle versioner af internet explorer...er der en måde hvorpå man kan gøre det ??
Nå nu har jeg fået det hele til at virke. Jeg lavede bare min session om til en variabel og skrev variablen ud, så virkede det. Men jeg kan da takke for jeres forsøg på at hjælpe...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.