/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
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
Sessions og sikkerhed
Fra : Henrik Hejbøl Jensen


Dato : 29-01-02 00:45

Hej NG

Jeg har ( som så mange andre ) lavet en loginfunktion på min hjemmeside hvor
en session ( Session("erloggetind") bliver sat til "jeps"

Så det ser sådan ud

If rs("brugernavn") = Request.Form("brugernavn") AND rs("pwd") =
Request.Form("pwd") Then
Session("erloggetind")="jeps"
Else
Session("erloggetind")="nix"
End If

Så checker jeg på alle mine beskyttede sider med algoritmen:

If Session("erloggetind")<>"jeps" Then
Response.Redirect("index.asp?indhold=notloggedon")
End If


Så er mit spørgsmål.. Kan folk med et eller andet program "aflæse" hvilke
sessions der kører i deres browser? for kan man det og kan man gætte sig til
at der skal stå jeps i kan man jo bare på sin egen hjemmeside starte en
session("erloggetind")="jeps" og så hoppe over på mine beskyttede sider...
og så burde man jo kunne komme ind.. Er denne betragtning helt forkert?

mvh. Henrik



 
 
Jørn Andersen (29-01-2002)
Kommentar
Fra : Jørn Andersen


Dato : 29-01-02 00:55

On Tue, 29 Jan 2002 00:45:23 +0100, "Henrik Hejbøl Jensen"
<henrik@hejboel.dk> wrote:

>Så er mit spørgsmål.. Kan folk med et eller andet program "aflæse" hvilke
>sessions der kører i deres browser? for kan man det og kan man gætte sig til
>at der skal stå jeps i kan man jo bare på sin egen hjemmeside starte en
>session("erloggetind")="jeps" og så hoppe over på mine beskyttede sider...
>og så burde man jo kunne komme ind.. Er denne betragtning helt forkert?

Ja, det er den heldigvis - sessions er knyttet til den maskine de er
oprettet på.

Prøv fx selv, hvis du har en webserver på din egen maskine og en anden
på et webhotel eller bare en anden server.
Selv hvis du laver de to websider ens og logger ind på den ene, så vil
du blive afvist på den anden.

Good luck,
Jørn


Henrik Hejbøl Jensen (29-01-2002)
Kommentar
Fra : Henrik Hejbøl Jensen


Dato : 29-01-02 01:50


> Prøv fx selv, hvis du har en webserver på din egen maskine og en anden
> på et webhotel eller bare en anden server.
> Selv hvis du laver de to websider ens og logger ind på den ene, så vil
> du blive afvist på den anden.


Ok. mange tak, så vil jeg sove roligt uden at tænke over større
adgangsalgoritmer

\Henrik



Jakob Andersen (29-01-2002)
Kommentar
Fra : Jakob Andersen


Dato : 29-01-02 08:49

"Henrik Hejbøl Jensen" <henrik@hejboel.dk> wrote in message
news:Pnl58.7813$Eu2.856863@news010.worldonline.dk...
> If rs("brugernavn") = Request.Form("brugernavn") AND rs("pwd") =
> Request.Form("pwd") Then
> Session("erloggetind")="jeps"
> Else
> Session("erloggetind")="nix"
> End If

Undkyld jeg spørger men trækker du alle brugere ud? Ville det ikke være
nemmere at tjekke direkte op i mod databasen sådan her:

<%
Set objRS = objConn.Execute( "SELECT brugernavn FROM tblBrugere WHERE
brugernavn = '" & Replace(Request.Form("brugernavn"),"'","''") & "' AND pwd
= '" & Replace(Request.Form("pwd"),"'","''") & "'")
If objRS.BOF Then
Session("erloggetind") = false
Else
Session("erloggerind") = true
End if
Set objRS = Nothing
%>
PS: Hvorfor ikke bruge false/true det er jo det de er der for istedet for at
opfinde sine egne boolske værdier

--
Jakob Andersen
Er du god til ASP og mangler du et job?
Så kontakt mig på jta@advice.dk




Lars Hoffmann (29-01-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 29-01-02 08:56

Henrik Hejbøl Jensen <henrik@hejboel.dk> escribió en el mensaje de
noticias Pnl58.7813$Eu2.856863@news010.worldonline.dk...
>
> Så er mit spørgsmål.. Kan folk med et eller andet program "aflæse"
hvilke
> sessions der kører i deres browser? for kan man det og kan man gætte
sig til
> at der skal stå jeps i kan man jo bare på sin egen hjemmeside starte
en
> session("erloggetind")="jeps" og så hoppe over på mine beskyttede
sider...
> og så burde man jo kunne komme ind.. Er denne betragtning helt
forkert?

Heldigvis er din betragtning helt hen i vejret ). Aarsagen er at
selve vaerdien af en session variabel ikke gemmes paa klienten, men
derimod paa serveren. Paa klienten bliver der gemt en cookie der
indeholder sessionens ID, men altsaa ikke sessionens variabler.
Med venlig hilsen
Lars Hoffmann



Anders Lund (29-01-2002)
Kommentar
Fra : Anders Lund


Dato : 29-01-02 08:57


Henrik Hejbøl Jensen <henrik@hejboel.dk> skrev i en
nyhedsmeddelelse:Pnl58.7813$Eu2.856863@news010.worldonline.dk...
> Hej NG

> If Session("erloggetind")<>"jeps" Then
> Response.Redirect("index.asp?indhold=notloggedon")
> End If

Jeg tror faktisk der er en sikkerheds fejl her, jeg mener at have hørt at
der er muligt at omgå en response.redirect, i hvert fal hvis den ikke står i
toppen af siden.
Vil du være på den sikre side, så skriv

If Session("erloggetind")<>"jeps" Then
response.clear
Response.Redirect("index.asp?indhold=notloggedon")
response.end 'Så vidt jeg ved, ville denne linie aldrig blive kørt, men
man kan aldrig være FOR sikker.'
End If






Lars Hoffmann (29-01-2002)
Kommentar
Fra : Lars Hoffmann


Dato : 29-01-02 10:07

Anders Lund <anders@itnews.dk> escribió en el mensaje de noticias
3c5655cd$0$245$edfadb0f@dspool01.news.tele.dk...
>
> > If Session("erloggetind")<>"jeps" Then
> > Response.Redirect("index.asp?indhold=notloggedon")
> > End If
>
> Jeg tror faktisk der er en sikkerheds fejl her, jeg mener at have hørt
at
> der er muligt at omgå en response.redirect, i hvert fal hvis den ikke
står i
> toppen af siden.
> Vil du være på den sikre side, så skriv

Det er et serverside redirect, det kan ikke omgaas fra klienten. Maaske
har du hoert at meta tegget refresh, eller javascriptet
document.location kan omgaas (hvilket naturligvis er korrekt)?
Med venlig hilsen
Lars Hoffmann




Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408561
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste