webForumDet fria alternativet

cookies

4 svar · 211 visningar · startad av eriks

eriksMedlem sedan apr. 20011 418 inlägg
#1

Jag hade tankt utoka inlogning sa att det blev som har pa wF (sa att man inte behover logga in varje gang om man sitter pa samma dator). Da behover man val anvanda sig av cookies? Jag sokte pa cookies och inloggning men hittade inget tillfredstallande.

Just nu har jag inloggning med session, vilket kollas langs upp pa varje sida. Jag tankte att man skulle kunna gora pa tva satt. 1. Kolla pa forstasidan om anvandaren har en cookie (det ar ett frameset, sa man skulle typ kunna lagga kollen i top-framen, sa kors den bara en gang), och om anvandaren har en cookie, sa skapar med en sessionn, och kor sedan som jag har det nu. 2. Man skulle kunna kolla pa varje sida om anvandaren har en cookie (overge sessions alltsa), men jag har hort att det inte ar sa sakert. Eller ska jag gora pa ett helt annat satt?

Tack! /Erik

SkarreMedlem sedan apr. 20012 427 inlägg
#2

Jag har också lite funderingar angående detta. Vilket är "rätt" metod? Jag försökte mig på detta för några månader sedan och fick till slut fram följande (mig veterligen fungerande) kod. Det skulle vara bra med lite synpunkter/kritik på denna kod.

<%
' Utloggning
If Request.QueryString("log") = "out" Then
	Session.Abandon
	Response.Cookies("user").Expires = DateAdd("yyyy",-10,Date)
	Response.Redirect "/default.asp"
End If
'Om man inte är inloggad loggar man in med antingen formulär eller kakor.
If Not CBool(Session("logged")) Then

	'Hämtar login-information från antingen formulär eller kaka.
	If Request.Cookies("user").HasKeys Then
		strUsername = Request.Cookies("user")("username")
		strPassword = Request.Cookies("user")("password")		
		blnTryLogin = True
	ElseIf Request.Form("formPickup") = "login" Then
		strUsername = Request.Form("username")
		strPassword = Request.Form("password")
		blnTryLogin = True
	End If
	
	If blnTryLogin Then
		Set rsLogin = objConn.Execute("SELECT userid, username, password, level FROM members & _ 
		WHERE username = '" & strUsername & "' AND password ='" & strPassword & "'")

		If rsLogin.EOF Then 
			Response.Redirect "error.asp?error=wronglogin"
		Else
			Session("logged") = True
			Session("userid") = rsLogin("userid")
			Session("username") = rsLogin("username")
			Session("level") = rsLogin("level")
			If Request.Form("cookies") = "save" Then
				Response.Cookies("user")("username") = rsLogin("username")
				Response.Cookies("user")("password") = rsLogin("password")
				Response.Cookies("user")("level") = rsLogin("level")
				Response.Cookies("user").Expires = DateAdd("yyyy",+1,Date)
			End If
			rsLogin.Close
			Set rsLogin = Nothing
		End If
	End If
End If
%>
eriksMedlem sedan apr. 20011 418 inlägg
#3

Jag tycker att den koden ser bra ut, det enda jag tanker pa ar att detta passar val bast om man har frameset, annars maste man ju checka bade sessions och cookies overst pa alla sidor.

SkarreMedlem sedan apr. 20012 427 inlägg
#4

Nja, jag inkluderar bara den här koden på sidor där man kan logga in. Därefter kontrollerar jag bara om de är inloggade eller inte.

eriksMedlem sedan apr. 20011 418 inlägg
#5

Men da maste du val kolla efter bade sessions och cookies? (Antingen har de precis loggat in, och da har de en session, eller sa loggade de in igar, och valde att spara inloggnings-datan, och da har de en cookie).

129 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)