Oprettet fre. d. 04. oktober 2002 kl. 12:07:24

hjep
hjep (16.765 point. Point ude: 480)

Sikre at det er den rigtige bruger

Jeg har en side hvor jeg beder om brugernavn og password. Brugeren bliver herefter redirectet til den korrekte side. Man kan heller ikke linke sig hen på siden uden at man har været igennem brugernavn og password, hvilket også er smart nok.

Den side man bliver sendt videre til hedder f.eks.
for person x
siden.asp?id=1

for person y
siden.asp?id=2 osv osv.

Nu kan person x jo så hurtig regne ud at hvis han vil en på person y side, skriver han bare id=2. Han skal selvfølgelig lige logge sig ind først med sit eget.

Dette skal han dog ikke kunne. Det skal være sådan at peson x kun kan logge sig ind på sin eget. Og det kan jeg vel gøre på en eller anden snedig måde. Er der nogen der kender nogen steder på nettet, hvor jeg kan læse lidt mere om hvordan og hvorledes. Evt. hente noget kode?

Min nuv. kode er

<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
    ' Her forberedes de indtastede værdier til validering
    strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
    strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

    ' Hvis der er skrevet noget i både brugernavn og adgangskode
    If Len(strUID) > 0 And Len(strPWD) > 0 Then

        ' DSNLess forbindelse til databasen
        Set myConn = Server.CreateObject("ADODB.Connection")
        myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("protect.mdb")

        ' Opbygning af SQL streng
        strSQL = "SELECT * FROM Users"&_
            " WHERE (Username = '" & strUID & "')"&_
            " AND (Password = '" & strPWD & "')"

        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then
            ' Hvis brugeren fandtes i databasen
            intUID = rs("UserID4")
            intTRAN = rs("Transfer")
           
           
        Else
            ' Hvis brugeren ikke fandtes i databasen
            strERR = "Du blev ikke godkendt af systemet"
        End If

        ' Rydder op i vores connection objekt
        myConn.Close
        Set myConn = Nothing

        If Len(intUID) Then
            ' Hvis variablen intUID indeholder en værdi sættes denne i sessionen "UserID4" og brugeren bliver sendt videre
            Session("UserID4") = intUID
            Response.Redirect intTRAN
        End If
    Else
        ' Hvis der ikke var angivet brugernavn og adgangskode
        strErr = "Du skal skrive både brugernavn og adgangskode"
    End If

    If Len(strErr) > 0 Then
        ' Her laves fejlmeddelsen om til rød skrift
        strErr = "<p><font color=red>" & strErr & "</font></p>"
    End If
End If
%>

Skrevet fre. d. 04. oktober 2002 kl. 12:48:15| #1

senj
senj (30.768 point)
Du kunne evt. ligge en cookie på clienten der viser hvilken bruger der kan gå på den gældende PC i den session der kører. Når du henter id´et nede i basen, så smider du det i en cookie og hver gang en side læses, som er afhængig af bruger id, så tager du det fra cookien. På den måde sikrer du at brugen aldrig ser sit eget ID og så behøves det heller ikke at kører med rundt i url´en hver gang du browser rundt på siden.

Altså bare en ide.

-- Sæt cookien´s levetid til en session, gøres ved ikke at specificere noget, så sikrer du at cookien ikke misbruges ved eks. flerbruger computere.

/senj

Skrevet fre. d. 04. oktober 2002 kl. 18:24:04| #2

soes
soes (25.652 point)
du opretter en session variabel under login, session("UserID4"), er det ikke den samme vaerdi som side.asp?id=1

Det spm jeg ville goere er at jeg ville droppe den del af querystringen id=... og paa min side.asp istedet bruge min session("UserID4")

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

ASP: formular udtræk med mulighed for at rette

Oprettet den 21. maj 2012 kl. 15.09
quarkb giver 200 point for svar | Giv et svar »

Sorter biblioteker efter dato i ASP

Oprettet den 17. maj 2012 kl. 16.52
4ks giver 60 point for svar | Giv et svar »

Simpel login-funktion (web) - behov for flere logins/brugere

Oprettet den 15. maj 2012 kl. 09.54
madx giver 75 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger