Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

apache->VHOST - php session problem - immer neue session id

Empfohlene Antworten

Veröffentlicht

Hallo,

folgende Situation:

Debian Sarge 3.1

Apache 2

PHP 5

Ein Projekt mit session basiertem Login liegt im Verzeichnis /srv/test

ein Virtueller Host zeigt auf dieses verzeichnis http://test.****.de

Der Login bzw. allgemein die Sessions funktionieren einwandfrei.

Dann eines Tages nimmt man das Projekt und legt es auf einen Live Server (selbe konfig wie oben)

Hier richtet man das Projekt ein alles funktioniert.

Das projekt wird während der Live Phase weiterentwicklet.

Dann eines Tages nimmt man das Live Projekt und spiegelt es aufgrund der Änderungen wieder auf den anderen Server (Testumgebung)

Am Projekt selbst wurden nur kleinere Änderungen gemacht die das LoginSystem oder die session aufrufe nicht betrafen.

Man nimmt das Projekt und kopiert es einfach über das alte in der Testumgebung. Man pass wieder die Pfade in der config datei an und will dann

wieder das Projekt über den vhost der testumgebung aufrufen.

Im Firefox funktioniert der Login und die gesamte Session geschichte einwandfrei.

Doch siehe da der IE muckt rum und akzeptiert keine Logins mehr.

nach einigen Stunden grübeln und debugging haben wir festegestellt das der IE bei jedem Aufruf der seite eine neue session id vergibt. (nicht falsch verstehen

ich weiß das das nicht der IE macht)

ABER grundsätzlich ist er der übeltäter. Im Firefox funktioniert es. Jede seite, jedes Post, das nach dem session_start auf der Seite getan wird gibt im Firefox immer

die selbe session id aus, so muss das sein. Der IE zeigt immer wieder ne andere an. Somit kann die Session und somit der Login nicht funktionieren.

Der IE hat bereits auf der Login seite bei jedem aktualisieren eine andere session id.

Da dies nicht das erste mal unser Problem war haben wir jetzt also probiert bis der artzt kam :-)

Zu allerletzt waren wir der Meinung das es wohl am Apache liegt. Wir haben also die VHOST Datei von dem VHOST der Testumgebung gelöscht. Diesen haben

wir sie neu angelegt mit neuem namen und die subdomain nun http://aaaa.*****.de genannt. --> apache neugestartet. domain angabe in der config datei des projektes

angepasst und im IE aufgerufen. Und siehe das Projekt ging mit einmal wieder. Der login funktionierte und wir hatten auf jeder seite die selbe session id.

Im Firefox funktionierte es genauso.

Also dachten wir uns TOLL.

jetzt die Probe. Wir stellen als Servername wieder http://test.****.de ein. apache restart. config anpassung --> IE wieder das session id problem. Firefox weiterhin ohne probleme

Das heißt der apache oder IE sind die übeltäter.

Da wir im IE sämtliches Caching abgeschalten haben sind wir der Meinung das der Apache irgendein problem hat. caching????.

Falls jemand mal das selbe Problem hatte und weiß woran es liegt BITTE BITTE POSTEN. Wir verzweifeln hier sonst.

Auch wenn nicht. Wir sind für jeden Ratschlag dankbar.

Hallo,

folgende Situation:

Debian Sarge 3.1

Apache 2

PHP 5

Ein Projekt mit session basiertem Login liegt im Verzeichnis /srv/test

ein Virtueller Host zeigt auf dieses verzeichnis http://test.****.de

Der Login bzw. allgemein die Sessions funktionieren einwandfrei.

Dann eines Tages nimmt man das Projekt und legt es auf einen Live Server (selbe konfig wie oben)

Hier richtet man das Projekt ein alles funktioniert.

Zu diesem Zeitpunkt funktionierte es also auch mit dem IE noch, verstehe ich das richtig?

Doch siehe da der IE muckt rum und akzeptiert keine Logins mehr.

nach einigen Stunden grübeln und debugging haben wir festegestellt das der IE bei jedem Aufruf der seite eine neue session id vergibt.

Habt Ihr das Problem nur mit IE7 oder auch mit älteren? Dieser Thread und auch dies hier klingt für mich irgendwie artverwandt...

jetzt die Probe. Wir stellen als Servername wieder http://test.****.de ein. apache restart. config anpassung --> IE wieder das session id problem. Firefox weiterhin ohne probleme

Könnte es sein, dass im IE eingestellt ist das für die Domain test.****.de keine Cookies angenommen werden?

erst einmal danke für die antworten. (riesen Dank an TheFinn für die SEHR hilfreichen Links)

Wir haben das Problem "gelöst"

für alle die etwas ähnliches haben - haben sollten.

wir haben immer dann wenn das problem auftrat vhosts mit namen die einen "_" beinhalten angelegt.

z.B

projekt1_test.****.de

Der Fehler mit den Session ids im IE tritt nur bei Domains mit einem "_" im Namen auf. Ich habe auf verschiedenen Seiten gelesen das hier wohl der IE die Seite nicht so vertrauenswürdig findet und deshalb die session immer wieder beendet. Wobei der Fehler im IE 6 auch auftrat nicht nur im IE 7

Weiterhin soll es wohl auch eine Beschränkung der Coockie Speicherung im IE geben (max 20 pro Domain) und der Coockie darf max. 4kb groß sein. Das war bei uns allerdings nicht das Problem sondern der Unterstrich

Der Fehler mit den Session ids im IE tritt nur bei Domains mit einem "_" im Namen auf. Ich habe auf verschiedenen Seiten gelesen das hier wohl der IE die Seite nicht so vertrauenswürdig findet und deshalb die session immer wieder beendet.

Ah, interessantes Beispiel für die alte Weisheit, daß man die richtigen Fragen stellen muß, um vernünftige Antworten zu kriegen. Ist jetzt absolut nicht als Vorwurf gemeint, ich stelle halt nur fest, daß Google einen mit Fundstellen 'totschmeißt', wenn man erstmal weiß, daß man nach "Internet Explorer", "cookie" und eben "underscore" suchen muß.

Weiterhin soll es wohl auch eine Beschränkung der Coockie Speicherung im IE geben (max 20 pro Domain) und der Coockie darf max. 4kb groß sein. Das war bei uns allerdings nicht das Problem sondern der Unterstrich

Obacht: Mindestens IE6 scheint das 4K-Limit nicht auf jedes einzelne Cookie zu beziehen, sondern auf die Gesamtheit aller Cookies einer Domain (guggstu hier, danke übrigens für das Kompliment... :D)

wir haben immer dann wenn das problem auftrat vhosts mit namen die einen "_" beinhalten angelegt.

projekt1_test.****.de

ist der underscore denn RFC-konform? AFAIK nicht, selbst wenn MS-implementierungen von DNS/WINS das so umsetzen.

s'Amstel

ist der underscore denn RFC-konform? AFAIK nicht, selbst wenn MS-implementierungen von DNS/WINS das so umsetzen.

s'Amstel

Gute Frage, in RFC 3986 heißt es:


2.3.  Unreserved Characters


   Characters that are allowed in a URI but do not have a reserved

   purpose are called unreserved.  These include uppercase and lowercase

   letters, decimal digits, hyphen, period, underscore, and tilde.


      unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"


Andererseits behauptet dieses BugTicket auch, sie seien nicht RFC-konform. Hmm...

Gute Frage, in RFC 3986 heißt es:


2.3.  Unreserved Characters


   Characters that are allowed in a URI but do not have a reserved

   purpose are called unreserved.  These include uppercase and lowercase

   letters, decimal digits, hyphen, period, underscore, and tilde.


      unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"


Andererseits behauptet dieses BugTicket auch, sie seien nicht RFC-konform. Hmm...

Ah, nicht 3986 (URI syntax) ist hier relevant, sondern 952 (DOD Internet Host Table Specification). In URIs ist der Underscore erlaubt, in Hostnamen nicht. Jetzt isses klar: bjt, Du hast Dir den Kram selber eingebrockt... ;)

das ich da selber schuld bin weiß ich doch :(

aber alles nur wegen nem unterstrich. vor allem der FIREFOX glaubt es mit _ nach wie vor. nur der IE eben nicht

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.