php.de

ZurĂŒck   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne EinschrÀnkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.03.2005, 23:27  
Gast
 
BeitrÀge: n/a
Standard [Erledigt] Session geht bei Seitenwechsel (Domainwechsel) verloren

Hallo zusammen,

ich habe vor einigen Tagen die PHP-Installation auf meinem Webserver von der
Version 4.3.6 auf die Version 4.3.10 aktualisiert (die GrĂŒnde seien hier mal
nicht zur Debatte gestellt).

Nun stelle ich fest, dass die Session, in der der Login-Status gemerkt wird,
nach dem Wechsel auf eine Seite mit einer anderen Domain verloren wird. Das
ist fĂŒr mich deshalb ein Problem, weil meine Website auf zwei Server mit
zwei unterschiedlichen Domains verteilt ist.

Kann mir jemand sagen, ob das ein in der Version 4.3.10 behobener Bug ist,
der halt in der Version 4.3.6. noch drin war? Mir scheint als gÀbe es keine
andere Möglichkeit, als die Site auf einen Server zusammen zu bringen. Um
meinen Auftraggeber aber davon zu ĂŒberzeugen, brĂ€uchte ich stichhaltige
Argumente. Daher die Nachfrage, ob es vielleicht einen halbwegs offiziellen
Hinweis auf das geschilderte verÀnderte Verhalten gibt.

Viele GrĂŒĂŸe,
Ole Laurisch
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code FlĂŒsterer

Registriert seit: 21.08.2005
BeitrÀge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.03.2005, 23:36  
Gast
 
BeitrÀge: n/a
Standard

Ich verstehe ehrlich gesagt Deine Frage nicht. Normalerweise loft das doch so ab, daß PHP nach session_start() sich eine session_id ausdenkt, die dann entweder an den jeweiligen URL geklebt oder in einen Prozeßkeks gepackt wird. Alle Session-Daten werden als session file im session.save_path gespeichert.

Wie sollte da Server 2 zu den Daten kommen, die auf Server 1 gespeichert sind?
  Mit Zitat antworten
Alt 08.03.2005, 23:45  
Gast
 
BeitrÀge: n/a
Standard

Zitat:
Zitat von meikel
Wie sollte da Server 2 zu den Daten kommen, die auf Server 1 gespeichert sind?
Ok, ich gebe zu, dass meine Frage etwas mißverstĂ€ndlich war. Das kommt davon, wenn man sich auf das Wesentliche beschrĂ€nken will und keinen unnötigen Ballast posten will. Dann vergisst man doch etwas Wesentliches...

Also, etwas weiter ausgeholt. Die Website von der ich hier spreche besteht aus einem statischen HTML-Anteil und einem Kunden-Bereich, der mittels PHP realisiert ist. Aus hier nicht weiter genannten GrĂŒnden, liegen diese beiden Bereiche auf zwei unterschiedlichen Servern.

Wenn ich nun die Seite aufrufe, mich in den Kundenbereich einlogge (und dabei ja auf den zweiten Server wechsle) und danach wieder statischen Bereich (auf Server 1) wechsle, dann verliere ich dabei offensichtlich die Session, denn wenn ich dann erneut auf den Kundenbereich wechsle, werde ich erneut zum Login aufgefordert.

Das war vor dem Update auf 4.3.10 definitv anders. Da konnte ich zwischen den beiden Seiten hin- und hersurfen und die Session blieb erhalten.

Ich hoffe, mein Problem ist jetzt verstÀndlicher.
  Mit Zitat antworten
Alt 09.03.2005, 07:53  
Gast
 
BeitrÀge: n/a
Standard

Hi!

Ich kann mir ehrlich gesagt, nicht erklÀren, warum das vorher funktioniert hat.
Hast du schonmal die Einstellungen der php.ini gecheckt?

Gruß
Iceman
  Mit Zitat antworten
Alt 09.03.2005, 09:57  
Erfahrener Benutzer
 
Registriert seit: 27.10.2003
BeitrÀge: 530
Thice
Standard

hast du schon ĂŒberprĂŒft, wie deine neue PHP-Installation die Session-ID auf dem Client weitergeben lĂ€sst?

Wenn das frĂŒher mit einem Cookie lief, bleibt das im Normalfall erhalten, bis der Benutzer das Browserfenster schließt. Wenn die Session-ID jetzt an die URL angehĂ€ngt wird, geht diese durch die statischen HTML-Seiten, die diese ID eben nicht weitergeben, verloren.
__________________
kintzebros.de | KintzeBros Home Entertainment
2061. Nach dem Frieden | kurzfilm
Paula | spielfilm
Thice ist offline   Mit Zitat antworten
Alt 09.03.2005, 10:59  
Gast
 
BeitrÀge: n/a
Standard

OK, ich denke in dieser Umgebung ist der Fehler zu suchen.

Ich gebe (und habe schon immer gegeben) die Session per Cookie weiter, so der Client dieses denn akzeptiert. Tut er ja aber im IE standardmĂ€ĂŸig nicht. Werde in diesem Umfeld mal weiter suchen. Vielen Dank fĂŒr die Hilfe.

Ole
  Mit Zitat antworten
Alt 09.03.2005, 22:13  
Gast
 
BeitrÀge: n/a
Standard

So, wie auch immer es in der frĂŒheren Version funktioniert hat, ist es ja prinzipiell richtig, dass der Domainwechsel nur dann nicht zum Verlust der Session fĂŒhrt, wenn der Client Session-Cookies akzeptiert.

Und ich habe mittlerweile auch definitiv nachvollziehen können, dass es mit dem
Seitenwechsel funktioniert, genau dann wenn ein Session-Cookie akzeptiert
wird (in der aktuell bei mir installierten Version 4.3.10).

Nun ist es ja aber leider so, dass z.B. der Internet Explorer in seiner
Standard-Einstellung keine Session-Cookies akzeptiert. Dann wird derzeit als
Fallback-Mechanismus der (unsaubere) Weg ĂŒber session_use_transid genutzt.


Nun stellt sich natĂŒrlich die Frage, wie man mit diesem Problem umgeht. Man
wird die Besucher der Seite nur schwerlich davon ĂŒberzeugen können, dass sie
Session-Cookies akzeptieren mĂŒssen. FĂŒr viele sind Cookies immer noch
(unberechtigter Weise) ein rotes Tuch. Ich habe mal irgendwo gelesen, dass
man mittels Zertifikaten den Client dann doch davon ĂŒberzeugen kann, das
Session-Cookie anzunehmen. WÀre das vielleicht eine Lösung, da ich den
Webserver auf dem PHP lÀuft selbst betreibe.

Wenn ja, kann mir da jemand einen Hinweis / Link / o.Ă€. nennen?

Vielen Dank im Voraus,

Ole
  Mit Zitat antworten
Alt 09.03.2005, 22:17  
Gast
 
BeitrÀge: n/a
Standard

Zitat:
Zitat von Olel
So, wie auch immer es in der frĂŒheren Version funktioniert hat, ist es ja prinzipiell richtig, dass der Domainwechsel nur dann nicht zum Verlust der Session fĂŒhrt, wenn der Client Session-Cookies akzeptiert.
Diese Aussage ist falsch, weil der Client den Keks nuzr an die korrekte Domain schickt. Wechselt der Hostname, belibt der Keks in der Dose.

btw: warum verwendest Du bei der Entwicklung hardkodierte Links und nicht $_SERVER["SERVER_NAME"]? Das ganze Thema hÀtte sich dann nÀmlich erledigt!
  Mit Zitat antworten
Alt 09.03.2005, 22:24  
Gast
 
BeitrÀge: n/a
Standard

Zitat:
Zitat von meikel
Zitat:
Zitat von Olel
So, wie auch immer es in der frĂŒheren Version funktioniert hat, ist es ja prinzipiell richtig, dass der Domainwechsel nur dann nicht zum Verlust der Session fĂŒhrt, wenn der Client Session-Cookies akzeptiert.
Diese Aussage ist falsch, weil der Client den Keks nuzr an die korrekte Domain schickt. Wechselt der Hostname, belibt der Keks in der Dose.
Da möchte ich nochmal auf meinen Post #3 in diesem Thread hinweisen. Sicher wird das Cookie nur an die korrekte Domain geschickt. Das reicht mir aber auch, denn nur hinter der einen Domain befinden sich PHP-Seiten, die das Cookie "benötigen". Die statischen HTML-Seiten interessieren sich sowie nicht dafĂŒr.

Zitat:
Zitat von meikel
btw: warum verwendest Du bei der Entwicklung hardkodierte Links und nicht $_SERVER["SERVER_NAME"]? Das ganze Thema hÀtte sich dann nÀmlich erledigt!
Ich verwende ich den PHP-Anteilen keine hardkodierten Links. Aber auf den HTML-Seiten habe ich natĂŒrlich keine andere Wahl.


Aber um nochmal auf das Thema Zertifikate zurĂŒckzukommen... weiß jemand was?

Ich meine dieses Forum nutzt doch auch einen Mechanismus, mit dem ich wiedererkannt werde, wenn ich die Seite Tage spĂ€ter nach meinem Login wieder besuche. Was wird denn dafĂŒr benutzt. Wahrscheinlich keine Session-Cookies...
  Mit Zitat antworten
Alt 09.03.2005, 22:28  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
BeitrÀge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

was spricht gegen eine Session-id die im im link bei einem domainwechsel ĂŒbergeben iwrd und dann die daten wieder aus der datenbank ĂŒbernommen werden? also ein speichern der cookie-daten in einer datenbank.
robo47 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf BeitrÀge zu antworten.
Es ist dir nicht erlaubt, AnhÀnge hochzuladen.
Es ist dir nicht erlaubt, deine BeitrÀge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
Session Daten gehen verloren rabatz PHP Tipps 2007 17 11.02.2007 16:19
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
Session geht bei include verloren argon PHP Tipps 2006 9 14.09.2006 19:45
session geht verloren imported_kremser PHP Tipps 2006 7 15.07.2006 23:36
session geht verloren Alpha Centauri PHP Tipps 2007 6 20.12.2005 12:34
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Session geht immer verloren. Ich werde noch verrĂŒckt. PHP-Fortgeschrittene 3 08.10.2005 10:33
Session Daten in gehen in Function verloren pherfinion PHP Tipps 2005-2 5 19.08.2005 16:04
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Session ID geht verloren. child pid (123) exit signal ... fa PHP Tipps 2005 11 12.05.2005 09:54
Session Variable geht verloren! (Homepage inside) PHP Tipps 2005 11 15.02.2005 09:17
session geht verloren Rotti PHP Tipps 2005 11 18.01.2005 17:39
[Erledigt] Formulardaten in einer Session speichern, per Link ĂŒbergeben PHP Tipps 2004-2 2 29.12.2004 15:47
problem mit ner Session, es gehn Arrays verloren PHP-Fortgeschrittene 3 10.11.2004 18:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php session seitenwechsel, ie session geht verloren, internet explorer 8 session geht verloren, ie8 session geht verloren, session domain wechsel, php session geht verloren, session seitenwechsel, session an andere domain weitergeben, http://www.php.de/php-fortgeschrittene/19277-session-geht-bei-seitenwechsel-domainwechsel-verloren.html, session verlust ie8, session id wechselt, php session domainwechsel, refresh session veloren, php session bleibt inhalt verloren post, php session fĂŒr ganze domain, internet explorer session geht verloren, cookie seitenwechsel, php session verloren, internet explorer 8 vergisst cookies, ie seitenwechsel zertifikat

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:24 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.