Avatar billede phpbegynder2004 Nybegynder
15. juni 2004 - 12:32 Der er 3 kommentarer og
1 løsning

Bevar sessions

Hej,
Jeg sidder og prøver at finde ud af det med sessions og nu er der opstået et problem: Jeg vil gerne bevare en session mellem to forskellige servere. Er det muligt?
Avatar billede Slettet bruger
15. juni 2004 - 12:47 #1
Sessions bevares af klientens maskine, ikke serverens.
Du skal tænkte på det som en cookie, egentlig.

Men hvis du mener, at hvis du f.eks. har logget en bruger ind, og så kaster ham over til en anden servers scripts, skal han også genkendes som logget ind dér, tror jeg du skal prøve at lave din egen session, ved at sætte nogle cookies, som du så kan læse i fra begge servere.

Jeg ved dog ikke om det virker i praksis, og jeg tror også det vil udgøre en mindre sikkerhedsrisiko.

Men jeg har aldrig prøvet det, så jeg taler bare ud fra hvad jeg kunne forestille mig. :)
Avatar billede phpbegynder2004 Nybegynder
15. juni 2004 - 13:56 #2
Du siger at sessions bevares på klientens maskine, men når jeg har fået startet en session på den ene server så virker den, men når jeg prøver den på den anden server virker det ikke mere. Er ikke så meget for det med cookies. Kan man ikke bare gøre det med almindelige sessions?
Avatar billede whistler Nybegynder
15. juni 2004 - 16:34 #3
Selve informationerne om sessionen ligger på den server hvor sessionen blev startet som udgangspunkt.

Dvs. at hvis du sender en bruger videre til en anden server og sender SESSIONSIDet med - vil denne information ikke være tilgængelig på den anden server.

En af metoderne til at komme uden om dette på - kan være at omskrive sessionshandleren til fx at gemme sessionens værdier i en database begge maskiner har adgang til.

Eller at dele det fysiske sessionsdir mellem de to servere hvis de står på samme lokalnet.

Det eneste der overføres fra klient-siden (altså browseren) er enten en cookie eller en variabel der normalt hedder PHPSESSION=enellerandenværdi - som netop er den streng Apache/Php bruger til at slå dine sessionsvariable op i en fysisk fil på harddisken på serveren.

Der kunne nok udtænkes andre metoder til at udveksle disse data (og snyde) - men det vil samtidig fjerne stort set hele sikkerhedsaspektet i at bruge sessions, så det kan ikke anbefales.

Du kan dog overveje at droppe dine sessions hvis det ikke handler om sikkerhed og i stedet kigge på bl.a. www.php.net/serialize der vil kunne hjælpe dig med at sende de relevante data med i url-requestet til den nye server.

//Geert
Avatar billede phpbegynder2004 Nybegynder
20. februar 2005 - 01:22 #4
Det giver mig desvaerre ike nogen loesning til mit problem da det er login oplysninger jeg vil have transporteret fra en server til en anden.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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