FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hej,
Jag har stött på ett mystiskt fel som jag tror beror på att personen blivit utloggad av någon anledning. Funderar därför på hur sessioner hanteras med popup-fönster. Sessionen startar i huvudfönstret där personen loggat in med användaruppgifter. Diverse funktioner på sajten öppnas i eget popup-fönster, där viss databaslagring sker för användaren. Vad jag har läst mig till så lever sessionen kvar (från popup-fönstret) även om huvudfönstret stängts ned. Har den samma livslängd som från huvudfönstret? Spelar det roll om huvudfönstret finns kvar eller inte? Finns det något annat man bör hantera eller tänka på med detta? Tack på förhand! |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Supermoderator
|
Klientens senaste förfrågan (request) till servern avgör. En popup bör hanteras som samma session av webbläsaren.
__________________
Jonny Zetterström se.linkedin.com/in/jonnyz | bjz.se | sajthotellet.com | kalsongkungen.se | zretail.se | zetterstromnetworks.se | webbhotellsguide.se | ekonominyheter24.se | nyamobiltelefoner.se | gapskratt.se | antivirusguiden.se | jonny.nu |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Bara ett inlägg till!
|
Precis som jonny säger, ett popup får ju till stor sannolighet samma SESS_ID som huvudfönstret. Får det det så kan du även stänga ner huvudfönstret efter det.
|
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Mycket flitig postare
|
Kul, jag skulle precis starta en tråd om ämnet.
Jag har också stött på att cookies har dött vid situationer de inte borde göra det. Jag kör ini_set('session.cookie_lifetime', 86400); vilket ger cookien lång livstid (fungerar bra hemma) - men det fungerar INTE bra på webbhotellet (loopia). Jag orkar inte diskutera problemet med dem igen, jag har vettigare saker att göra med min tid. ![]() Btw - är det någon som vet om detta kan overridas på något sätt eller om det finns fler mysko grejer som spelar in? (Ja, det görs före session_start) Råkar du också använda loopia? Förövrigt är det ju inte ditt fönster som får en session kopplad till sig, utan det är ju din webbläsare. Öppnar du ett nytt fönster i samma browser så ansluts ju samma session till detta, så där lär inte ditt problem ligga. |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Nykomling
|
Hej
har exakt samma problem på min site, kanske kan vara samma sak för dig.... Medlemmar blir utloggade utan anledning. Efter lång tids felsökning av min kod och viss kommunikation med webbhotellet kom jag fram till att detta fel beror på webhotellets sätt att sköta servern. Fick till förklaring att mitt webbhotell startar om servern vid eventuella fel som uppstår hos deras kunder. Vid omstart av server tappas av naturliga skäl också sessionvariablarna och därmed blir du som unik kund drabbad, även om du inte var orsak till denna omstart. Lösningen jag har är att byta till en dedikerad server där du bara behöver ansvara för din egen 'odugliga' kod. Eller har någon annan en annan lösning? Ni som använder session variblar, har ni alla dedikerade servrar? Måste man gå från lågbudgetservrar till dedikerade servrar för att få ha sina sessionvariabler ifred? Det är ju en viss skillnad i priset..... |
||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Mycket flitig postare
|
Ett alternativ är ju att du lagrar sessionsinformationen i databasen. Man kanske inte vill hålla stora komplicerade states i databasen (eftersom de måste laddas och påverkar prestanda) men just inloggning brukar jag alltid lägga i databasen.
DVS: När användaren loggar in skapas en nyckel som lagras i databasen samtidigt som den skickas som en cookie till användaren. Vid varje request kontrolleras sedan att cookien finns och att värdet stämmer med databasen. Då är det inte längre ngt problem med att dela servern med många andra (även om man kanske kan ifrågasätta webhotellets konfiguration som gör att olika kunder drabbas på det sätt du beskriver. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
Jag ska testa att fråga en grej här så kanske jag slipper skapa en ny tråd om det.
Sorry om jag sotar tråden lite, men det må ligga i trådskaparens intresse också. Två frågor. 1: Garbage collectorn som rensar bort sessioner på serversidan, kan man styra den helt fritt? Kan man få den att låta en session leva i ett dygn om man vill? 2: Sessionskakan - har man samma frihet där som en vanlig kaka? Jag vet att den går att styra till stor del - men är det pålitligt? Det jag vill få ut av det hela är om jag kan göra sessioner med "godtycklig" lvislängd, alltså t.ex. en dag eller två - eller om det då är värt att lämna sessioner helt till fördel för ett skräddarsytt system. Tack |
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Nykomling
|
Ja just det, det har du rätt i eg0master. - Tackar!
Då har jag ett alternativ till att fundera på. Dedikerad server eller skriva om kod. Visst kan man undra vad webbhotellet/n håller på med men samtidigt så kan man väl inte begära för mycket av en tjänst som nästan är gratis.... Hur är det med mellanklasshotellen, dvs de i prisklassen 50-500:- håller de i regel bättre bättre prestanda i detta avseende? |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Supermoderator
|
Citat:
__________________
Jonny Zetterström se.linkedin.com/in/jonnyz | bjz.se | sajthotellet.com | kalsongkungen.se | zretail.se | zetterstromnetworks.se | webbhotellsguide.se | ekonominyheter24.se | nyamobiltelefoner.se | gapskratt.se | antivirusguiden.se | jonny.nu |
||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Nykomling
|
Jo, att isolera min webbplats ge den en egen Application pool vore lösningen.
Vet egentligen inte i vilken prisklass på webbhotell man kan begära en sådan, därav mitt förslag med dedikerad server. Kanske din signatur erbjuder en egen application pool? |
||
![]() |
![]() |
Svara |
|
|