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 ...