Avatar billede jytte Nybegynder
01. marts 2005 - 09:01 Der er 14 kommentarer og
1 løsning

Sessions dør

Jeg har en side side1.asp hvori jeg sætter nogle sessionsvariabler. På denne side åbner jeg et nyt vindue med en side fra den samme site side2.asp. På side2.asp sætter jeg yderligere nogle sessionsvariabler og redirecter til siden selv (side2.asp). Herefter vises det der skal vises på side2.asp.

På side2.asp har man imidlertid en submitknap som submitter til siden selv for derefter at redirekte til siden selv altså side2.asp.

Mit problem er nu at på nogen maskiner (som jeg ikke selv har adgang til) ser det ud til at et tryk på summitknappen giver en scriptfejl som er identisk med en fejl jeg ville få hvis jeg havde ladet siden stå uberørt indtil sessionen dør.

Det ser med andre ord ud til at submit resulterer i sessionsdød.

Jeg vil meget gerne finde ud af hvad der foresager denne sessionsdød på nogen maskiner.

Jeg har en mistanke om at det kan have noget med de pågældende maskiners sikkerhedsindstillinger at gøre.

Hvis nogen har en idé om hvilke sikkerhedsindstillinger der kan være tale om eller hvad der ellers kan være galt vil jeg meget meget gerne vide det.
Avatar billede jytte Nybegynder
01. marts 2005 - 09:22 #1
Jeg mente selvfølgelig "sessions død" og ikke "sessions dør" :-)
Avatar billede razser Nybegynder
01. marts 2005 - 09:26 #2
Så vidt jeg ved, kan man ikke oprette sessions, hvis brugeren har slået cookies fra..
Avatar billede jytte Nybegynder
01. marts 2005 - 13:39 #3
på side1.asp siden aflæses vha. javascript at cookies er slået til (dette udskrives på siden!). Så før man kommer til side2.asp siden er helt sikkert cookies slået til, så jeg er rimelig sikker på at det ikke er der problemet ligger.
Avatar billede fennec Nybegynder
01. marts 2005 - 14:33 #4
Laver du noget redirect/submit med http://xxx for det her jeg oplevet starter en ny session.

Razser >>
Session virker stadig hos mig selv om jeg har deaktiveret cookies.
Avatar billede fennec Nybegynder
01. marts 2005 - 14:57 #5
Razser >>
Det lader til du har ret. Jeg var lige indeunder nogle avanceret indstillinger, og der var session cookies tilladt. Fjern det, og jeg kan ikke bruge sessions :(

jytte >>
Da du tester for cookies burde session dderfor virke, men ellers kan du submitte hiddenfelter, eller gemme oplysninger i en database.
Avatar billede jytte Nybegynder
01. marts 2005 - 15:21 #6
fennec>>

ja jeg laver redirect med http://xxx . Så måske har du oplevet det samme som mig. Men hvorfor slår det så ikke session ihjel ved alle maskiner ? og hvordan løste du det ? ved at kun at referere relativt ?

Tror du ikke man ved en browserindstilling kan sørge for at sessionen ikke dør ?

Min side2.asp er en tilstandsmaskine hvori jeg bruger sessionsvariabler til at holde en tilstand der beskriver præcist hvor langt en person er kommet i en test. Det ville kræve meget meget programmering at gøre det uafhængig af sessionsvariabler da logikken ville skulle laves væsentlig om.
Avatar billede fennec Nybegynder
01. marts 2005 - 15:36 #7
Du skal bare linke relativt, så skulle problemet ikke opstå. Det gør det ikke ved mig. Jeg bruger http metoden som en ekstra sikkerhed på at afslutte session, for session.abandon er ikke altid nok. Jeg nulstiller også selv de vigtige sessionvariabler.

Hvis jeg bruger http://... er det ikke altid den taber session. Tror det måske har noget at gøre med, hvor hurtig den er til at får forbindelse til siden igen.
Avatar billede jytte Nybegynder
01. marts 2005 - 18:43 #8
fennec>>
hvad mener du med http-metoden ? du kan jo ikke ved at referere absolut på nogen måde regne med at slå en session ihjel ?

Mht. at session.abandon ikke altid er nok er du vel klar over at hvis man skriver session.abandon midt på en asp-side bliver det der står efter linien med session.abandon (inklusive eventuelle aflæsninger af sessions!) udført før session.abandon da denne ordre først udføres når man går til næste side.

Din teori om "at det måske har noget at gøre med, hvor hurtig den er til at få forbindelse til siden igen" tror jeg ikke rigtig på da jeg ikke synes det passer med de tilfælde jeg har set eller hørt om.
Avatar billede fennec Nybegynder
02. marts 2005 - 09:46 #9
Jeg ved godt hvordan session.abandon fungere :o)
Jeg siger bare at det kan være svært at komme af med sessions igen, og her taler jeg ud fra egen erfaring. Jeg har en kill.asp side med session.abandon og en top.location.href (bruger iFrames), samt jeg nulstiller vigtige sessions selv. Jeg har et site hvor det er vigtigt at alle session variabler forsvinder, og der er jeg nød til at redirecte til et helt andet domæne, hvor jeg har en side, som sender mig tilbage igen. Hvis jeg ikke gør sådan viste test at i 0,3% af tilfældene at session ikke blev fjernet.
Avatar billede jytte Nybegynder
02. marts 2005 - 11:47 #10
Ja det lyder godt nok som om der er nogen sejlivede sessionsvariabler! Men hvorfor nulstiller du ikke bare selv sessionsvariablerne ?

Men mit problem var egentlig ikke at få slået session ihjel men derimod at sikre at de ikke omkom ved et uheld. Foreløbig synes jeg ikke rigtig jeg er kommet nærmere en løsning på det problem.
Avatar billede fennec Nybegynder
02. marts 2005 - 11:53 #11
Fordi nogle af dem er oprettet med dynamiske navne, så jeg ikke ved hvad de hedder.

Kan du ikke smide koden fra side1 og 2 indså vi kan se den. Så kan vi måske se hvor problemet kan opstå.
Avatar billede jytte Nybegynder
03. marts 2005 - 00:47 #12
side1.asp fylde ca 400 linier og side2.asp fylder ca 1200 (heraf 1-200 liniers includefiler) så det vil jeg spare eksperten for.

Men jeg er da meget interesseret i om du har en god forklaring på det at absolutte referencer i forbindelse med submit og redirect "nogen gange" slår sessions ihjel (som du jo mener ikke sandt ) ?
Avatar billede fennec Nybegynder
03. marts 2005 - 08:40 #13
Jeg har da en teori.

Hvis det skal være helt rigtigt, burde man miste session, hver gang man bruger et http kald, men jeg tror så, at det nogen gange kan gå så hurtigt, at den ikke når at slette oplysninger inden man kommer igen.

Og her er så forklaringen. Den er lidt dum, men det var det eneste jeg kunne komme på. Den giver dog mening i min verden :o)

Et http kald betyder at du kommer hen til sitet hel fra bunden, hvor et relativ kald, flytter dig rundt på sitet. Jeg sammenligner det med et hus (det er denne del der er lidt dum). Med et http kald (http://www.enAddresse.dk/Stue) står du uden foran hoveddøren, og bliver lukket ind i stuen. Hvis du så lavet et kald til (http://www.enAddresse.dk/køkken), skal du igennem hoveddøren igen for at komme ind køkkenet. Hvis du derimod lavede et relativ kald går du direkte fra stuen til køkkenet, og har derfor slet ikke forladt huset.
Avatar billede jytte Nybegynder
03. maj 2005 - 20:08 #14
Selv om jeg ikke har kunnet verificere din teori skylder jeg dig vist pointene.
Du mangler bare at lægge et svar.
Avatar billede fennec Nybegynder
04. maj 2005 - 11:32 #15
.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester