webForumDet fria alternativet

Hjälp att byta session mot kaka..

ASP

3 svar · 550 visningar · startad av Biasse

Medlem sedan aug. 2003480 inlägg
Frågan#1

Jag har ett inloggscript som jag inte får till session.timeout tiden på hur jag än gör. Nu har jag paltat en tid med att använda cookies istället men får inte till det. Kan nån vänlig själ hjälpa mig att skriva om scriptet så att det använder cookis istället för session? Hoppas det ska lösa utloggningar i tid och otid.

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

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\webb\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="index2.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 "index.asp"
%>
<%
If NOT Cint(Session("niva")) >=1 Then
Session("session") = "Du måste logga in först!"
Response.Redirect "loggain.asp"
ELSE
end if
%>
Medlem sedan juli 20041 183 inlägg
#2

Har du försökt fixa timeout-problemet men inte fått svar eller varför överger du sessioner så lätt? Att lagra nivån på den inloggade personen i en cookie borde inte vara säkert då man enkelt kan kapa andras cookies genom ett javascript eller skapa egna och sätta in de värden man vill ha...

Medlem sedan juni 20014 421 inlägg
#3

Och då har du bortsett från det faktumet att en session är en tillfällig kaka lilja?

Medlem sedan juli 20041 183 inlägg
#4

colione skrev:

Och då har du bortsett från det faktumet att en session är en tillfällig kaka lilja?

Jo man kan hacka dem också men det är inte lika enkelt som kakor, åtminstone inte i detta fallet. En Session avslutas när man stänger webbläsaren då den ligger i webbläsarens cacheminnet (om jag inte minns fel?). Om man använder cookies försvinner inte datat, vilket är hela grejen med cookies vs sessions.

Det var ett tag sedan jag kodade ASP nu och har andra tekniker i huvudet men sessioner funkar väl så att datan sparas på servern och klienten har ett id? Om jag inte minns fel kan man sätta detta id själv genom ett enkelt javascript om man vet vilket som är inloggad just då. Äh, jag har alltid fått för mig att Sessions är säkrare även om de självfallet också kan innehålla säkerhetsluckor...

Anledningen till att jag frågade var mer för att jag undrade om Biasse hade undersökt Session-problemet tillräckligt. Annars är det kanske enklare att lösa den frågan än att skriva om skriptet så att det går mot cookies :)

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)