06. februar 2007 - 20:08Der er
12 kommentarer og 2 løsninger
Sende id via session i en løkke
Hej eksperter
Jeg ved ved at opbygge et administratorområde, hvor en bruger kan logge ind og ellers rette i sine egne sider. Antallet af sider for den enkelte bruger vises via en løkke, altså tager alle rækker i en tabel, som passer på brugernavnet. Når den enkelte side skal rettes, er det jo ganske enkelt at gå videre til en "retteside" ved at medsende id ....?Id=xx. Det er jo bare ikke en god ide, da en bruger så bare kan rette id-nr. i browseren og komme ind på en anden brugers side.
Hvis jeg indsætter en session i en løkke, medsender den altid første record. Hvordan koder jeg det, så id-nr. kommer med til "rettesiden", men det skal jo ikke være sådan, at brugeren ser id-nr.?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hmm.. du kunnde jo, en hurtig løsning, gøre sådan, at når man går ind på en side.. id=73 .. så tjekker den igen, og det er brugerens egen side. Ellers redirecte til en default "det kan du glemme" side.
mettecarsten >> Så kører du jo med ypper dårlig sikkerhed, hvis man kan gå tilbage og skrive et andet ID i sin adresselinie. I databasen skal brugerne jo have et brugerID og så skal den tjekke på siden hvor man redigere sin side om brugerID = Session("brugerID") fx.
madeindk - jeg har gjort det sådan tidligere, og det er helt korrekt helt vild dårlig sikkerhed - det er også derfor, at jeg nu skal have det ændret. Du har vel ikke noget yderlige omkring dette sikkerhedsproblem?
Når man kommer ind på ex. retSide.asp?id=75 .. så tjekker den, som det første, om side 75 har det brugernavn som er i din session. :) Hvis ikke, så redirecter den. Er det til at forstå? :)
Det er til at forstå. Så er der vel heller intet problem i at skrive ID'et, det behøver du da bestemt ikke holde hemmeligt for brugeren, hvis du har sikkerhedstjek på :-9
Det lyder meget rigtigt, men jeg kan bare ikke få det til at virke. Jeg har prøvet med følgende koder:
<% If rs("Bruger") <> Session("Bruger") Then Response.Redirect("login.asp") End If %>
eller
<% If rs("Bruger") = Session("Bruger") Then ' Bare et eksempel %>
og <% End If %> til sidst i dokumentet.
I første eksempel går den uanset hvad til login.asp og blank side i andet eksempel. Har tjekket igen og igen, at if sætningen også er rigtig, svarer til 1 = 1.
<% If Cint(rs("Bruger")) = Cint(Session("Bruger")) Then ' Bare et eksempel Response.Write "Din session er OK" Else Response.Write "Din session er ikke OK - kan du så komme ud!" End If %>
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.