/ Forside/ Teknologi / Udvikling / ASP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Sikkerhedsproblem
Fra : crha
Vist : 428 gange
20 point
Dato : 08-12-01 12:15

Hej, jeg har et lille problem med noget sikkerhed i ASP.
Jeg har et stykke kode jeg bruger for at beskytte mine brugersider. Koden er:

if session("brugernavn") = "" then
    Response.Redirect("index.asp?mode=login")
end if

Den virker godt nok hvis man går til siden via et link, men hvis man skriver index.asp?mode=secret kommer man til siden alligevel, selvom det kun er oprettede brugere der skal have adgang til siden.

Håber der er nogen der kan hjælpe mig.

Mvh.
Casper

 
 
Accepteret svar
Fra : Nyhedsbruger

Modtaget 30 point
Dato : 08-12-01 13:17

crha wrote in news:3xmQ7.755$Q3.83660@news010.worldonline.dk:

> Hej, jeg har et lille problem med noget sikkerhed i ASP.
> Jeg har et stykke kode jeg bruger for at beskytte mine brugersider.
> Koden er:
>
> if session("brugernavn") = "" then
> Response.Redirect("index.asp?mode=login")
> end if
>
> Den virker godt nok hvis man går til siden via et link, men hvis man
> skriver index.asp?mode=secret kommer man til siden alligevel, selvom det
> kun er oprettede brugere der skal have adgang til siden.
>
> Håber der er nogen der kan hjælpe mig.
>

du laver den "klassiske" fejl ved sikring af sider, at du overfører de
vigtige sikkerhedsparametre i din URL ... hvilket man aldrig må gøre.

Måden at gøre det på er:

Når du logger ind, så sætter du en session-variabel, hvis login går godt -
dvs noget i retning af

if rs("brugernavn") = request.form("brugernavn") then
response.redirect("entrance.asp")
session("logon") = "ok"
end if

På alle dine sider sætter du så koden

<%
if session("logon") <> "ok" then
response.redirect("logon.asp")
end if
%>

Hvis du så undervejs skal teste på, om brugeren er logget ind på andre måder
.... eller om der skal vises logon-forms eller ej, så tester du KUN på din
session-variabel - og ikke på din du smider med i din URL.

--
Jesper Stocholm - http://stocholm.dk

Gad vide hvor lang tid der går, inden danskerne
finder ud af, at de har købt katten i sækken til valget ...

Kommentar
Fra : crha


Dato : 08-12-01 13:31

Jeg har alle mine sider i en fil, og den tjekker om brugeren findes i en access-database. Under login har jeg følgende kode:

<% if mode = "login" then
                     
   if Request.ServerVariables("REQUEST_METHOD") = "POST" then
                        
   if Request.Form("brugernavn") <> "" AND Request.Form("adgangskode") <> "" then
                           
Sql = "select * from bruger where brugernavn = '" & Request.Form("brugernavn") & "'"
Set rs = Conn.Execute(sql)

Eller det er starten af den.

Godkendelse af svar
Fra : crha


Dato : 14-07-02 11:32

Tak for svaret Jesper Stocholm.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177429
Tips : 31962
Nyheder : 719565
Indlæg : 6407950
Brugere : 218878

Månedens bedste
Årets bedste
Sidste års bedste