Neue session mit neuem Fenster?

itmpatti

Mitglied
Hallo,

ich habe ein Script mit Admin-funktion gecodet.
Das Loginsystem wird mittels sessions realisiert.

Man kann sich alle Benutzer anzeigen lassen.
-> Es gibt einen Link, um sich als ein belibiger user aus derliste einzuloggen
--> es öffnet sich ein neues Fenster [<a href= target=new>]
--> es soll eine neue Session geöffnet werden.
--> d.h. man soll als admin weitersurfen können und in dem neuen fenster als user XY eingeloggt sein.


Versteht ihr, was ich meine?


also,
-> ich habe das Probelm,
--> wenn ich auf den link klicke,
--> es öffnet sich die neue seite.
---> der code ändert die laufende session:

PHP:
$_SESSION["id"] = $new_login_user["id"];
$_SESSION["group"] = $new_login_user["group"];

---> dadurch wird meine admin-session überschrieben und das will ich ja nicht.



Könnt ihr mir bitte sagen, wie ich dieses Problem beseitigen kann?




Gruß,
Patrick
 
hmmm...

erstmal danke, also, das hat mir leider nicht wirklich geholfen....

also, im prinzip soll der browser beim Aufmachen des neuen Fensters eine neue Session öffnen und verwenden.

Sodass es 2 sessions gibt. eine Admin-session und die Benutzer-session....


Gruß,
Patrick
 
also entweder binn ich doof, oder ich weiß nicht was.....

das problem wird sein, dass beide sessions auf die gleiche datei zugreifen können... (wegen der pfandangabe)....

außerdem läuft das ganze script ohne cockies...


Pat
 
Du könntest das Problem so lösen, dass die Sitzungs-IDs beider Bereiche unterschiedliche Charakteristika aufweisen. Die Administrator-Bereich-Sitzungs-ID könnte beispielsweise mit „admin-…“ beginnen und nur solche werden auch nur vom Administrator-Bereich akzeptiert:
PHP:
<?php

	if( isset($_REQUEST[ini_get('session.name')]) && preg_match('/^admin-[0-9a-fA-F]{32}$/', $_REQUEST[ini_get('session.name')]) ) {
		session_id($_REQUEST[ini_get('session.name')]);
	} else {
		session_id('admin-'.md5(microtime()));
	}
	session_start();

	…

?>
Alle übrigen Bereiche dürfen nur Sitzungs-IDs mit der „klassischen“ Sitzungs-ID-Syntax, der 32-stelligen Hexadezimal-Zeichenkette (^[0-9a-fA-F]{32}$), akzeptieren.
 
Hallo,

ja, danke, das leuchtet ein.

also muss ich bei jedem dateiabruf abfragen, obs ne admin-xxxxxx - Session ist, oder nicht... ?



gruß,
patrick
 
Ja, genau das. Der oben beschriebene Algorithmus sollte eigentlich für den Administrations-Bereich alles Nötige erledigen: Prüfung und Setzung einer bereits existierenden Sitzungs-ID sowie die Generierung einer neuen.
 
Hallo,

also ich bekomme das nicht hin!

Wenn ich ein neues Fenster öffne
Code:
<a href="" target="new">XXX</a>

scheint er in dem alten Fenster die neue Session zu übernehmen.


Mfg
Patrick
 
Zurück