webForumDet fria alternativet

Problem med att skydda sidorna

ASPur ASP

6 svar · 228 visningar · startad av sudden

suddenMedlem sedan okt. 2002341 inlägg
#1

Tjaba!
Jag vill att vissa sidor ska vara lösenordskyddade, och att bara medlemmar med rätt användarnamn och lösenord ska komma in!
Jag har löst det på följande sätt:

<%If ((Request.Form("username") = "") OR (Request.Form("pass") = "")) Then
Response.Redirect("main.asp")
End If

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("database.mdb")	

  
 CHECK = "SELECT * FROM tblAnvandare WHERE username = '" & Request.Form("username") & "' AND pass = '" & Request.Form("pass") & "' "
  Set RS = Connect.Execute(CHECK)
 SQL2 = "SELECT USERID FROM tblAnvandare"
  Set RS2 = Connect.Execute(SQL2)
 

If RS.EOF Then
  Connect.Close
  Set Connect = Nothing
  Session("login") = "nopp"
 Response.Redirect("main.asp")
End IF
  

 If Not (RS.EOF) Then
 Session("login") = "ja"
  'Nu måste vi lagra alla användarens uppgifter i en cookie, detta hämtas från databasen...vi gör det för att kunna hämta användarens uppgifter vid ett senare tillfälle
  Response.Cookies("KAKA") ("0") = RS("USERID")
  Response.Cookies("KAKA") ("1") = RS("fornamn")
  Response.Cookies("KAKA") ("2") = RS("efternamn")
  Response.Cookies("KAKA") ("3") = RS("mail")
  Response.Cookies("KAKA") ("4") = RS("username")
  Response.Cookies("KAKA") ("5") = RS("kon")
  Response.Cookies("KAKA") ("6") = RS("profile")
  Response.Cookies("KAKA") ("7") = RS("drink")
  Response.Cookies("KAKA") ("8") = RS("city")
  Response.Cookies("KAKA") ("9") = RS("fodd")
  Response.Cookies("KAKA") ("10") = RS("regdatum")
  Response.Cookies("KAKA") ("11") = RS("adress")
  Response.Cookies("KAKA") ("12") = RS("tel")
  Response.Cookies("KAKA").Expires  = DateAdd("D", Now(), 365)

  
  Response.Redirect("index.asp")
  
		
   
End If
  
RS.Close
Set RS = Nothing
RS2.Close
Set RS2 = Nothing

Connect.Close
Set Connect = Nothing
%>

Men mitt problem är att om jag sedan loggar ut från sidan så kan jag hur lätt som helst komma in igen, genom att bara skriva in adressen till sidan i adressfältet, och så är jag inloggad igen.
Jag vill att ett felmeddelande ska genereras om användaren försöker ta sig in på det viset.
Jag har försökt lösa det med att skriva denna kodsnytt på varje sida:

If Session("login") = "ja" Then
'Inloggad
ElseIf Session("login") = "nopp" Then
'Inte inloggad
End If

Men det verkar inte göra någon skillnad! :(
Är det någon som kan hjälpa mig :q
Tacksam för svar :) //sudden

PellefantMedlem sedan maj 20023 372 inlägg
#2

Hej!

Hade precis samma problem förut, OveRRidE:s förslag löste det. (De andra förslagen funkar nog de med)

http://www.webforum.nu/showthread.php?s=&threadid=56413

suddenMedlem sedan okt. 2002341 inlägg
#3

Man får tacka så mycket :birp

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#4

Kontrollera också att du har samma datatyper i dina jämförelser, detta gör du med funktionerna, cint(), cdate(), cstr() mfl

PellefantMedlem sedan maj 20023 372 inlägg
#5

P.s När jag höll på att dona med det, så var det ett j-a krångel, för...

1 Höll på med sidorna...och fick samma "fel" som dig.
2 La till koden i tråden ovan (Overrides kodsnutt)
3 Men då var det ju sidorna redan cachade..så man märkte inte att det fungerade så att säga. Om jag minns rätt så tömde jag cachen efter att ha slitit mitt hår en hel del, och då funkade det.

suddenMedlem sedan okt. 2002341 inlägg
#6

Okej =)
Själv är jag inte så haj på det där med cahhing och sånt =)

Jesper TMedlem sedan nov. 20017 144 inlägg
#7

Herre gud va många sessions, det där kan du väl trixa till lite kanske???

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