keine Sessions in vhosts

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

keine Sessions in vhosts

Postby BoMbErPiLoT » 21. March 2006 21:00

Hallo zusammen,
ich habe für ein kleines Intranet XAMPP 1.5.1 auf einem W2k Server installiert.

Im Grunde funktioniert alles wunderbar.

Nun habe ich mir mehrere DNS-Aliase auf dem DNS-Server eingetragen, um so die Funktion von vhosts zu nutzen.
So kann jede Abteilung ihre Homepage ganze einfach erreichen, indem Sie z.B. http://verwaltung eintippt.

Die DNS Auflösung im vhosts funktioniert auch ohne Probleme. Jede Abteilung kommt zu ihrer Homepage.

Nun habe ich auch Pages mit Login's (user / pasword ) , die ich in PHP mit MySQL und Sessions realisiert habe.

Leider funktioniert das mit den Sessions und dem vhost nicht.
Die Scripst sind OK, habe ich schon auf anderen Severn getestet.

Die Anmedlung läuft zunächst ohne Probleme. Wechsel ich jedoch auf eine andere (geschütze) Seite, muss ich mich neu anmelden.

So wie ich das beobachtet habe, legt er zwar eine Session an, verliert diese aber sofort wieder.

Rufe ich das ganze über die Standardseite auf (z.B. http://webserver/verwaltung ) läuft das Login-Script ohne Probleme.

Auch einen Eintrag des session.path in den vhost hat nichts gebracht.

In den Logs ist nichts besonderes zu finden.

Hat da vielleicht jemand einen Tip?

Danke und Gruß
Timo
BoMbErPiLoT
 
Posts: 9
Joined: 21. March 2006 20:16

Postby deepsurfer » 22. March 2006 15:16

Ist Sichergestellt das alle Aufrufe (weiterführende LINKs) die innerhab der http://verwaltung aufgerufen werden können auch diese weiterhin mit dieser URL abgefragt werden. ?

Denn ein ändern der URL innerhalb der "Verwaltung" (in deinem beispiel http://webserver/verwaltung) veranlasst die Authentifizierung erneut in Aktion zu treten.

http://verwaltung und http://webserver/verwaltung sind für die Authentifizierung zwei unterschiedliche Requests.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby BoMbErPiLoT » 22. March 2006 21:44

Das habe ich mir auch schon überlegt.

Ich habe die Links kontrolliert.
Sie sind nicht vollqualifiziert sprich, es ist im vollgendem Format angegeben.

Code: Select all
<a href="page.php">Page</a>


So müßte es doch eigentlich gehen.

Werde aber auch nochmal testen, den link voll anzugeben.

Danke & Gruß
Timo
BoMbErPiLoT
 
Posts: 9
Joined: 21. March 2006 20:16

Postby KingCrunch » 23. March 2006 01:49

"vollqualifiziert"... In letzter Zeit tauchen hier ganz neue Begriffe auf :) Relative Pfade werde afaik mittels Servername vom Apachen und Pfad des letzten Aufrufs erzeugt
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby BoMbErPiLoT » 23. March 2006 14:42

Na gut,
habe mich vielleicht etwas in meinem Wortschatz vergriffen. :wink:

Meinte halt den Link über komplette Adresse inklusive Domain-Sufix usw.

Hat aber übrigens nichts gebracht.

Folgende Links funktioneiren alle nicht:

Code: Select all
<a href="page.php">Page</a>
<a href="http://verwaltung/page.php">Page</a>
<a href="http://verwaltung.domain.de/page.php">Page</a>


Also die Links funktionieren schon, nur die Session halt wieder nicht.
BoMbErPiLoT
 
Posts: 9
Joined: 21. March 2006 20:16

Postby deepsurfer » 23. March 2006 14:51

Ausgehend vom Request http://verwaltung

a href="page.php">Page</a> <-- sollte gehen ansonsten mal ein ./ davor setzen

<a href="http://verwaltung/page.php">Page</a> <--- hier sollte es eigentlich gehen.

<a href="http://verwaltung.domain.de/page.php">Page</a> <<-- wenn das in irgendeiner Form als LINK vorhanden ist dann ist klar das die Auth. aufgerufen wird, für den Apachen ist dies ein anderer Request als die ersten beiden LINK möglichkeiten.

Jetzt stellt sich die Frage wie du die Session startest....
kannst du da mal ein script-auszug zeigen ?
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby BoMbErPiLoT » 27. March 2006 09:08

Hallo,
war krankheits bedingt ne zeit außer gefecht und melde mich deshlab jetzt erst wieder.

Wie schon gesagt, keine der Link-Foremn funktioniert.

Ich habe im Prinzip eine User-Verwaltung und jede Seite, die geschützt werden soll, hat ein include des Login-Checks

Die Session wird wie folgt gestartet:
Code: Select all
//Starten
@session_start();


Die Session wird natürlich als erstes vor allem anderen gestartet.

Gruß Timo
BoMbErPiLoT
 
Posts: 9
Joined: 21. March 2006 20:16

Postby deepsurfer » 27. March 2006 14:06

Ich habe im Prinzip eine User-Verwaltung und jede Seite, die geschützt werden soll, hat ein include des Login-Checks

Die Session wird natürlich als erstes vor allem anderen gestartet.

Ich bin in Sessions nicht so bewanderdert, aber die zwei Aussagen bringen mich zum grübeln.

erster grübeler..:
Wenn die include anforderung ausserhalb der "verwaltungs URL" liegt bzw. aus einem anderen Geschützen/ungeschützem Pfad aufgerufen wird sind doppel Loginanforderungen schonmal nachvollziehbar. (das jetzt zur Praxis)

zweiter grübeler:
Wenn du vorher eine Session öffnest und dann erst einen Login überpüfst so weiss doch diese Session nicht zu wem (welchen Login) sie gehört.
Daher zuerst den Login, dann Sessionstart und durch die Übergabe der nun jetzt erfolgten Session kann man meines erachtens weitere LoginProzeduren automatisieren. (oder denke ich da jetzt falsch ?)

Wie ich das verstanden habe möchtest du aber einen einmaligen Login mittels Session auf die anderen geschützten Bereiche übergeben/übernehmen. Sodass über die Session der Zugriff auf Bereiche für diesen LoginNamen freigegeben sind ohne nochmals eine Loginprozedur zu vollziehen.

Konzeptfrage:
- Mitarbeiter aus Abteilung-A ruft im browser http://verwaltung auf,

- jetzt kommt eine Loginprozedur,

- die du mittels Session so weitergibst das diese Person aus Abteilung-A auch nur zugriffe auf Informationen für Abteilung-A hat und nicht Informationen für Abteilung-B einsehen kann weil die Informationen für Abteilung-B durch ein eigenständiges Login geschützt werden soll,

- obgleich eine Person aus Abteilung-B durch den selben Aufruf http://verwaltung mittels Session übergabe nur Informationen für Abteilung-B sehen darf.

Hab ich das jetzt so richtgig verstanden ?
Wenns blödsinn ist dann sag bescheid ich lösch dan meinen Grübelbeitrag um nicht noch mehr Verwirrung zu stiften.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby BoMbErPiLoT » 28. March 2006 07:55

Hallo,
ich möchte zunachst einen kleinen Hinweis geben.

Ich habe das selbe Login-Script auf meinem privaten Web-Server (Debian Sarge, Apache 1.3, PHP4, MySQL4) und da läuft es ohne Probleme mit VHOSTS.

erster grübeler..:
Wenn die include anforderung ausserhalb der "verwaltungs URL" liegt bzw. aus einem anderen Geschützen/ungeschützem Pfad aufgerufen wird sind doppel Loginanforderungen schonmal nachvollziehbar. (das jetzt zur Praxis)


Ich habe natürlich schon probiert, die Login-Scripts direkt im Verzeichnis der Verwaltung abzulegen, ohne erfolg. (http://verwaltung/user)

zweiter grübeler:
Wenn du vorher eine Session öffnest und dann erst einen Login überpüfst so weiss doch diese Session nicht zu wem (welchen Login) sie gehört.
Daher zuerst den Login, dann Sessionstart und durch die Übergabe der nun jetzt erfolgten Session kann man meines erachtens weitere LoginProzeduren automatisieren. (oder denke ich da jetzt falsch ?)


Hier habe ich mich vielleicht etwas falsch bzw. zu knapp ausgetrügt.
Natürlich wird zunächst geprüft, ob bereits eine Session inkl. Daten eines erfolgreichen Logins, vorhanden ist.
Sollte dies der Fall sein, wird diese mit ihren Daten ausgelesen und der Login umgangen.
Sollte keine Session vorhanden sein, wird zunächst das Login-Formular aufgerufen und der Login durchgeführt.
Als Sicherheit, dass die User auch ihre eigene Session behalten, werden in den Sessions auch noch die IP des Users gespeichert.

Konzeptfrage:
....

Im Grunde stimmt dass so.

Einzelne User/Mitarbeiter sind in einer ODER mehrerer Gruppen/Abteilungen zugewiesen.
Auf Grund ihrer Gruppe/Abteilung können sie verschiedene Seiten oder einzelne Funktionen auf einer Seite sehen/ausführen.
Das bedeuted, nicht nur die Abteilungen haben unterschiedliche Rechte, auch die einzelnen User in einer Abteilung haben teilweise unterschiedliche Rechte.

Vergleichen könnte man es vielleicht mit der Userverwaltung eines Forums.
Hier gibt es ausch Gruppen (Gast, User, Moderator, Admin).
Manche Foren sind nur für bestimmte Gruppen zu sehen, bei manchen dürfen nur bestimmte Gruppen schreiben und andere wieder lesen usw.


Gruß Timo
BoMbErPiLoT
 
Posts: 9
Joined: 21. March 2006 20:16

Postby BoMbErPiLoT » 28. March 2006 11:50

Ich habe mittlerweile auch mal andere Scripts, die mit Sessions arbeiten, getestet.
Hier besteht das selbe Problem.

Auf meinem Debian Privat laufen die Scripte mit vHosts, auf dem XAMPP gehen sie nicht.

Auch nicht von mir entwickelte Scripte, wie man sie z.B. bei www.phparchiv.de bekommt, funktionieren nicht.

Ich glaube also nicht, dass es an der Programmierung liegt.

Gruß
Timo
BoMbErPiLoT
 
Posts: 9
Joined: 21. March 2006 20:16

Postby deepsurfer » 28. March 2006 14:53

Welches PHP ist auf deinem DEBIAN-Privat rechner ?

Wenn dort PHP4 läuft mal den XAMPP auf PHP4 umswitchen und gegen testen.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby BoMbErPiLoT » 29. March 2006 07:22

Auf meinem Debian ist ein PHP4.

Das ist aber nicht das Problem.

Ich hatte vor XAMPP eine Apache 2.0.55 & PHP 4 einzel Installation auf dem W2k Server.
Damit hatte ich die selben Probleme wie jetzt mit XAMPP.

Hatte mir erhoft, dass das Problem mit XAMPP gelöst wird.

Irgendwie scheint es hier doch ein Apache oder PHP Problem mit Win-Doof zu sein.
BoMbErPiLoT
 
Posts: 9
Joined: 21. March 2006 20:16

Postby BoMbErPiLoT » 29. March 2006 07:59

Ich bin in der Sache etwas weiter gekommen.

Ich habe einfach mal ein kleines Script geschrieben, welches einen ganz normale Cookie setzt.

Rufe ich das ganze über http://websrv/verwaltung/cookie.php auf, wird der Cookie ohne probleme gesetzt.

Über http://verwaltung/cookie.php geht es wieder nicht.

Das wäre auch ein Hinweiß, warum die Session immer verloren geht, da für die Session ja auch ein Cookie angelegt wird.
BoMbErPiLoT
 
Posts: 9
Joined: 21. March 2006 20:16

Problem gelöst

Postby BoMbErPiLoT » 29. March 2006 11:41

Hallo Leute,
so wie es aussieht, habe ich das Problem gefunden.

Ich habe "_" in den DNS Aliasen und damit kann es wohl probleme beim DNS als auch Beim MS IE geben.

Sobald unser DNS Admin aus der Mittagpase wieder zurück ist, werde ich dies ändern lassen und das ganze nochmal testen.

Drauf gekommen bin ich über folgenden Beitrag:
http://community.apachefriends.org/f/viewtopic.php?t=7387&highlight=cookies
BoMbErPiLoT
 
Posts: 9
Joined: 21. March 2006 20:16

Postby Wiedmann » 29. March 2006 11:48

Drauf gekommen bin ich über folgenden Beitrag:

Siehe der oberste Post im Forum.... Erst suchen, dqnn fragen ;-)

Ich habe "_" in den DNS Aliasen

Ich sehe weder in "websrv" noch in "verwaltung" einen "_"? *grübel*
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 6 guests