/ 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
"timeout"
Fra : Martin


Dato : 25-11-01 10:01

Hej NG

Jeg er for nylig begyndt at rode med asp og er i den forbindelse stødt ind i
et problem som jeg håber der er en der kan finde ud af

Ideen er at jeg har en bruger som indtaser user/passw og "kommer ind".
Dernæst skal han indtaste noget som skal gemmes i min database. Det
indtastede vises på en ny side med nogen yderligere oplysninger. På samme
side bekræftes det hele og gemmes først her i databasen. Problemer er nu at
man jo blot kan gå tilbage i sin browser vha tilbage/back og gemme samme
oplysninger igen. Og dert er ikke lige meningen. Jeg har undersøgt sesions
men det indebærer jo cookies og det er et krav at siden skal være cookiefri

Håber der en med en god idé

Mvh

Martin



 
 
Kasper Katzmann (25-11-2001)
Kommentar
Fra : Kasper Katzmann


Dato : 25-11-01 10:14

>.........Jeg har undersøgt sesions
> men det indebærer jo cookies og det er et krav at siden skal være
cookiefri

Hvad mener du med at Sessions indebærer Cookies?


Kasper K



Martin (25-11-2001)
Kommentar
Fra : Martin


Dato : 25-11-01 10:29

Jeg tager muligvis fejl... men efter det jeg har læst rundt om i diverse
tutorials så indebærer brug af sessions at brugerens browser er sat til at
tillade cookies -og selvfølgelig understøtter cookies

følgende er et klip fra
html.dk -http://www.html.dk/tutorials/asp/lektion12.asp

"Lad os sige at 50 personer samtidigt klikker sig rundt på det samme
websted - f.eks. en butik. Oplysningerne om hvad deres indkøbskurve
indeholder, kan med fordel gemmes i session objektet. For at kunne
identificere brugerne i forhold til hinanden, benytter serveren et unikt
bruger ID, som gemmes i en en HTTP cookie"

mvh

Martin



"Kasper Katzmann" <kasper@katzmann.dk> wrote in message
news:9tqcpg$8of$1@sunsite.dk...
> >.........Jeg har undersøgt sesions
> > men det indebærer jo cookies og det er et krav at siden skal være
> cookiefri
>
> Hvad mener du med at Sessions indebærer Cookies?
>
>
> Kasper K
>
>



Jesper Stocholm (25-11-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 25-11-01 11:15

Martin wrote in news:3c00ba18$0$4863$ba624c82@nntp02.dk.telia.net:

> Jeg tager muligvis fejl... men efter det jeg har læst rundt om i
> diverse tutorials så indebærer brug af sessions at brugerens browser er
> sat til at tillade cookies -og selvfølgelig understøtter cookies
>

det er korrekt. sessions er cookies, der slettes når browseren lukkes ned.
Tillader man slet ikke cookies i sin klient, så kan der heller ikke anvendes
sessions på sitet.

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

Kay Larsen (25-11-2001)
Kommentar
Fra : Kay Larsen


Dato : 25-11-01 10:28

Måske kan du bruge <script> og window.location.replace(url)
som disabler users back button.

--
regards@kaylarsen.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
http://auction.dtdns.net/my?e=mail@kaylarsen&c=stamp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"Martin" <mojn@ofir.dk> wrote in message
news:3c00b391$0$4860$ba624c82@nntp02.dk.telia.net...
> Hej NG
>
> Jeg er for nylig begyndt at rode med asp og er i den forbindelse stødt ind
i
> et problem som jeg håber der er en der kan finde ud af
>
> Ideen er at jeg har en bruger som indtaser user/passw og "kommer ind".
> Dernæst skal han indtaste noget som skal gemmes i min database. Det
> indtastede vises på en ny side med nogen yderligere oplysninger. På samme
> side bekræftes det hele og gemmes først her i databasen. Problemer er nu
at
> man jo blot kan gå tilbage i sin browser vha tilbage/back og gemme samme
> oplysninger igen. Og dert er ikke lige meningen. Jeg har undersøgt sesions
> men det indebærer jo cookies og det er et krav at siden skal være
cookiefri
>
> Håber der en med en god idé
>
> Mvh
>
> Martin
>
>



Jesper Stocholm (25-11-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 25-11-01 11:16

Kay Larsen wrote in news:3c00b9fd$0$25399$edfadb0f@dspool01.news.tele.dk:

> Måske kan du bruge <script> og window.location.replace(url)
> som disabler users back button.
>

<ironi>
ja ... lad os bare begynde at rode med vores besøgendes
browseres indstillinger og funktionalitet. Det er også
nemmere end at finde den bedste løsning.
</ironi>

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

Jesper Stocholm (25-11-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 25-11-01 11:25

Martin wrote in news:3c00b391$0$4860$ba624c82@nntp02.dk.telia.net:

> Hej NG
>
> Jeg er for nylig begyndt at rode med asp og er i den forbindelse stødt
> ind i et problem som jeg håber der er en der kan finde ud af
>
> Ideen er at jeg har en bruger som indtaser user/passw og "kommer ind".
> Dernæst skal han indtaste noget som skal gemmes i min database. Det
> indtastede vises på en ny side med nogen yderligere oplysninger. På
> samme side bekræftes det hele og gemmes først her i databasen.
> Problemer er nu at man jo blot kan gå tilbage i sin browser vha
> tilbage/back og gemme samme oplysninger igen. Og dert er ikke lige
> meningen. Jeg har undersøgt sesions men det indebærer jo cookies og det
> er et krav at siden skal være cookiefri
>

Hvem har sagt, at den skal være cookiefri ... og er vedkommende klar over,
hvad forskellen er på en session og en cookie ?

Anyway ... der er et par måder du kan gøre det på.

1. Indsæt brugerens login-navn i den række vedkommende indsætter. Med
passende valg af primære nøgler i din tabel, så kan det ikke lade
sig gøre at indsætte flere rækker.

2. Efter du har indsat en række for en bruger, så sætter du en session på
klienten - altså noget i retning af

con.execute("INSERT INTO ...")
session("insert") = "completed"

Når du skal indsætte i din tabel, så checker du først på, om der er
sat en session på klienten. Hvis dette ikke er tilfældet, så indsætter
du ... ellers lader du være. Det vil give kode som fx.

if not session("insert") = "completed" then
con.execute("INSERT INTO ...")
session("insert") = "completed"
end if

Det skal siges, at den sidste version ikke er vandtæt, hvis du bruger koden
råt ... og hvis brugeren ikke overhovedet acepterer cookies. Det kan dog
godt modificeres, så det ligner noget :)

.... hvordan holder du egentlig øje med, hvem brugeren er, når vedkommende er
logget ind, hvis du ikke må anvende cookies ?

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

Martin (25-11-2001)
Kommentar
Fra : Martin


Dato : 25-11-01 12:59



> Hvem har sagt, at den skal være cookiefri ... og er vedkommende klar over,
> hvad forskellen er på en session og en cookie ?

Det med at den skal være cookiefri er simpelthen et krav... men hvis det
skal være på den måde så lad os bare sige det er mig :)

> 1. Indsæt brugerens login-navn i den række vedkommende indsætter. Med
> passende valg af primære nøgler i din tabel, så kan det ikke lade
> sig gøre at indsætte flere rækker.

Ja det var selvfølgelig en mulighed. Hvis det ikke bare lige var fordi man
skal kunne indsætte flere rækker. Bare kun når man har logget ind (på et
senere tidspunkt) og ikke bare går tilbage via back-knappen og "klikker gem"
igen. Altså hvis man et senere tidspunkt skal have opdateret det der står i
databasen er der mulighed for dette -(og de gamle rækker må ikke slettes)
Det burde jeg nok have fortalt i første omgang -sorry! Men jeg håbede på der
lige var en simpel løsning

> 2. Efter du har indsat en række for en bruger, så sætter du en session på
> klienten - altså noget i retning af
>
> con.execute("INSERT INTO ...")
> session("insert") = "completed"

JA det var så det med de kager. Correct me if i'm wrong men det kræver vel
en cookie

> ... hvordan holder du egentlig øje med, hvem brugeren er, når vedkommende
er
> logget ind, hvis du ikke må anvende cookies ?

Det gør jeg med at kaste rundt med variable siderne imellem (der er ikke så
mange) via url. Det er rodet det ved jeg men hvis der er andre bud på
hvordan man gør det cookiefrit så vil jeg meget gerne høre. Men på din
udmelding Jesper kan jeg høre det er der formentligt ikke :(

OG tak for svarene Jesper -en fornøjelse at møde en så hjælpsom person



Jesper Stocholm (25-11-2001)
Kommentar
Fra : Jesper Stocholm


Dato : 25-11-01 13:39

Martin wrote in dk.edb.internet.webdesign.serverside.asp:
> > Hvem har sagt, at den skal være cookiefri ... og er vedkommende klar over,
> > hvad forskellen er på en session og en cookie ?
>
> Det med at den skal være cookiefri er simpelthen et krav... men hvis det
> skal være på den måde så lad os bare sige det er mig :)
>

ok ... jeg forstår blot ikke hvorfor. Jeg kan se det, hvis det er "almindelige"
cookies ... men jeg kan ikke lige umiddelbart se, hvad der skulle tale for ikke
at anvende session-cookies.

> > 1. Indsæt brugerens login-navn i den række vedkommende indsætter. Med
> > passende valg af primære nøgler i din tabel, så kan det ikke lade
> > sig gøre at indsætte flere rækker.
>
> Ja det var selvfølgelig en mulighed. Hvis det ikke bare lige var fordi man
> skal kunne indsætte flere rækker. Bare kun når man har logget ind (på et
> senere tidspunkt) og ikke bare går tilbage via back-knappen og "klikker gem"
> igen. Altså hvis man et senere tidspunkt skal have opdateret det der står i
> databasen er der mulighed for dette -(og de gamle rækker må ikke slettes)

som jeg sagde: "med passende valg af primære nøgler". Du kan jo vælge ved login
at give din bruger en midlertidig (meget unik) værdi, som du så kan smide med i
din URL - altså en slags session-variabel - så du udover brugerens login-ID
tager endnu en værdi med rundt på dennes tur på dit website. Den indsætter du
så sammen med brugerens loginID (eller hvordan du nu genkender din bruger
undervejs) i din række. Hvis du så vælger at lave den primære nøgle i din tabel
som værende disse to felter, så kan der kun indsættes i databasen én gang under
et login. Når så brugeren logger ind igen, så giver du hende et nyt unikt ID,
og så kan der igen indsættes. Hvis du kombinerer det med at indsætte disse
unikke IDs i en tabel - så du holder øje med hvilke værdier der er blevet
genereret af din applikation - så gør du det meget svært (bevidst) at indsætte
flere rækker i din tabel ... selvom man har fået at vide, at man ikke må.

>
> > 2. Efter du har indsat en række for en bruger, så sætter du en session på
> > klienten - altså noget i retning af
> >
> > con.execute("INSERT INTO ...")
> > session("insert") = "completed"
>
> JA det var så det med de kager. Correct me if i'm wrong men det kræver vel
> en cookie
>

jeps ... det er korrekt. Husk i øvrigt på, at de fleste browsere tillader
session-cookies - selvom cookies som sådan er slået fra (IE,NN,Opera)

> > ... hvordan holder du egentlig øje med, hvem brugeren er, når vedkommende
> > er logget ind, hvis du ikke må anvende cookies ?
>
> Det gør jeg med at kaste rundt med variable siderne imellem (der er ikke så
> mange) via url.

husk også på, at variable i URL giver "onde" brugere store muligheder for at
komme ind på dit website. Hvis du fx checker på, om man er logget ind via en
querystring som .asp?login=1 ... så kan man jo komme ind på dit site ved blot
at skrive dette i en URL (lidt simplificeret, men jeg håber du kan se, hvor jeg
vil hen). Det samme kan siges om at videreføre status på indsættelse i database
i URL [1].

> Det er rodet det ved jeg men hvis der er andre bud på
> hvordan man gør det cookiefrit så vil jeg meget gerne høre. Men på din
> udmelding Jesper kan jeg høre det er der formentligt ikke :(
>
> OG tak for svarene Jesper -en fornøjelse at møde en så hjælpsom person
>

velbekomme ... jeg sad alligevel med tømmerænd og forsøgte at komme i gang med
dagen :)

[1] Hvis du overfører "vigtige" parametre i din URL, så vil jeg foreslå dig at
BASE-64 encode strengene ... eller at lave en hash-værdi af værdierne. Så gør
du det i hvert fald noget mere besværligt at fake et login/indsættelse på dit
site.

Jesper Stocholm
http://stocholm.dk

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Martin (25-11-2001)
Kommentar
Fra : Martin


Dato : 25-11-01 14:49


> ok ... jeg forstår blot ikke hvorfor. Jeg kan se det, hvis det er
"almindelige"
> cookies ... men jeg kan ikke lige umiddelbart se, hvad der skulle tale for
ikke
> at anvende session-cookies.

HOV HOV.. er der forskel?!?! Det vidste jeg så ikke!!! Og videre skriver du
noget med at sesionscookies for det meste er tilladt. Så ender det jo nok
med en session :) Er der nogen der kender et link til et sted hvor man kan
læse om sesion cookies og forskellen mellem dem og alm cookies

Men ellers bliver det nok den med den unikke værdi... Men sessions er
unægteligt nemmere




Martin (25-11-2001)
Kommentar
Fra : Martin


Dato : 25-11-01 17:11

Der er kommet et par gode forslag men bare lige for at rode i det endnu
mere...

Af og til når man er ved at lave sager på internettet og man trykker back
kommer der en besked om at siden er forældet. Hvordan laver man det (kan det
overhovedet laves i asp).

Med venlig hilsen



Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste