PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   tabbed Browsing (http://www.selfphp.de/forum/showthread.php?t=10092)

kaepten 29.03.2005 09:31:37

tabbed Browsing
 
Hallo,

ich habe mir eine Linkseite gebastelt (PHP/MySQL) auf der man nach dem einloggen seine Links speichern kann (sortiert etc.).

Wenn nun aber jemand mehrere "Accounts" hat und diese gleichzeitig benutzen/öffnen will vertauscht er die session_ids. Ich dachte immer die sind pro "Fenster" gespeichert.

Sogar das Aufrufen mehrerer FF-Instanzen bringt keine Besserung.

Was kann man da machen?

Vielen Dank, kaepten

xabbuh 29.03.2005 09:41:48

AW: tabbed Browsing
 
Wenn die Sessionid nicht per Cookie sondern per URL übertragen wird, ist dies auch im Firefox möglich.

kaepten 29.03.2005 10:17:42

AW: tabbed Browsing
 
Also im Moment mache ich das mit den Sessionvariablen die ich einfach übergebe...

Wie realisiert man denn das mit der URL? Und, ist das nicht ein Sicherheitsproblem wenn man die Session sieht?

|Coding 29.03.2005 10:24:54

AW: tabbed Browsing
 
Das kann ein Sicherheitsproblem sein, denn wenn mal jemand ne URL verschickt, der eine aktive Session angehängt ist, dann kann sich der Empfänger ne Zeit lang Problemlos einloggen.

xabbuh 29.03.2005 10:45:17

AW: tabbed Browsing
 
Zitat:

Zitat von kaepten
Wie realisiert man denn das mit der URL?

Wenn du die Einstellung session.use_cookies und session.use_only_cookies deaktivierst, wird die Sessionid nicht mehr per Cookie übergeben. Falls session.use_trans_sid aktiviert ist, musst du die Sessionid nun nicht manuel an deine internen Links anhängen, da dieses automatisch von PHP gemacht wird.

Zitat:

Zitat von kaepten
Und, ist das nicht ein Sicherheitsproblem wenn man die Session sieht?

Wie |Coding schon geschrieben hat, ist es ein Sicherheitsproblem, wenn jemand einfach die Adresszeile in seinem Browser kopiert und an fremde Nutzer verschickt.

kaepten 29.03.2005 11:07:24

AW: tabbed Browsing
 
Das hab ich noch nicht ganz verstanden...

Einfach die id an die URL anhängen? Als welche Variable? Muß hier ein bestimmter Name benutzt werden oder kommt es nur darauf an das sie drinsteht?

Im Moment wird die Session nur beim Logn eröffnet und auf den Folgeseiten wird kontrolliert ob eine Variable registriert ist. Jetzt wo ich das schreibe fällt mir auf das das auch nicht toll ist ;-)

Kontrolliere ich dann mit session_is_registerd ob man sich in der richtigen Session befindet?

Zugriff auf die Konfiguration von PHP habe ich übrigens nicht...

xabbuh 29.03.2005 11:23:00

AW: tabbed Browsing
 
Zitat:

Zitat von kaepten
Das hab ich noch nicht ganz verstanden...

Einfach die id an die URL anhängen? Als welche Variable? Muß hier ein bestimmter Name benutzt werden oder kommt es nur darauf an das sie drinsteht?

Sobald die Funktion [func]session_start()[/func] aufgerufen wird, generiert PHP eine eindeutige Sessionid, falls noch keine Sessionid existiert, ansonsten wird diese Sessionid aufgenommen. Je nach Einstellung wird nun versucht ein Cookie auf dem Rechner des Clients abzulegen, in dem diese Sessionid gespeichert wird. Schlägt dies fehl, weil entweder nicht die entsprechende Einstellung in der php.ini gesetzt ist oder der Client zum Beispiel keine Cookies akzeptiert, wird PHP ein Konstante mit dem SID, die beim Aufruf von [func]session_start()[/func] erstellt wird, nach dem Schema session_id() . '=' . session_name() gefüllt. Diese Konstante wird von PHP automatisch an alle internen Links angehangen, falls session.use_trans_sid aktiviert ist. Ist dies nicht der Fall, musst du das manuel vornehmen.

Zitat:

Zitat von kaepten
Kontrolliere ich dann mit session_is_registerd ob man sich in der richtigen Session befindet?

[func]session_is_register()[/func] ist veraltet und sollte genauso wie zum Beispiel [func]session_register()[/func] vermieden werden. Stattdessen gibt es das superglobale $_SESSION-Array. Schau dir dazu am besten mal das entsprechende Kapitel im Tutorial an.

Zitat:

Zitat von kaepten
Zugriff auf die Konfiguration von PHP habe ich übrigens nicht...

Die Konfiguration von PHP lässt sich unter Umständen auch mit einer .htaccess-Datei bzw. zur Laufzeit des Scriptes mit der Funktion [func]ini_set()[/func] verändern.

kaepten 29.03.2005 11:31:51

AW: tabbed Browsing
 
Okay, das habe ich verstanden... nur eins:

Du schreibst 'manuell anhängen'... meint das '...?session_id=wew463qg...3434f3c'? Erkennt php dann die Zusammengehörigkeit der einzelnen Seiten besser als bisher?

Ich arbeite im Moment auch mit dem '_Session'-Array... soll ich dann also einfach die URL-id mit der Array-id vergleichen...?

|Coding 29.03.2005 12:10:55

AW: tabbed Browsing
 
Mit "manuel anhängen" meint xabbuh, dass du an jede URL "&<php echo SID; ?>" bzw. "?<php echo SID; ?>" anhängen musst. Das bewirkt, dass die Session per URL weitergegeben wird:

Z.B.: ...seite.php?PHPSESSID=abcdef1234567890abcdef1234567890

Beim Auslesen musst Du dann nicht auf $_GET['PHPSESSID'] zugreifen, sondern einfach mit session_start() die aktive Session laden und dann wie gewohnt mit $_SESSION['...'] auf deine Variablen zugreifen.

kaepten 29.03.2005 12:43:54

AW: tabbed Browsing
 
Also das reicht glaube ich... ich werde es nun mal versuchen... Danke für die Hilfe, kaepten


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:39:46 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.