PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP für Fortgeschrittene und Experten (http://www.selfphp.de/forum/forumdisplay.php?f=13)
-   -   Session Re-Loaden (http://www.selfphp.de/forum/showthread.php?t=18346)

PHP-CODER 26.12.2007 15:41:59

Session Re-Loaden
 
Hallo !

Kann mir jemand sagen wie ich eine bestehende Session reloaden kann.

Es geht mir darum das ich als Administrator einer Web-Page eine bestehende Session eines Benutzer laden will um mir die Werte dieser Session anzeigen zu lassen.

So viel ich weiss sollte das mit session_start($session_id_des_benutzer); möglich sein!
Stimmt das ?

Ich könnte natürlich die Datei selbs laden sie mit session_decode initialisieren und dann das ganze ausgeben würde jedoch gerne wissen ob das nicht auch anders geht !

Danke im Voraus für jede Hilfe.

defabricator 26.12.2007 17:40:46

AW: Session Re-Loaden
 
Zitat:

Zitat von PHP-CODER
So viel ich weiss sollte das mit session_start($session_id_des_benutzer); möglich sein!

Wenn Du so eine Vermutung hast, dass schau doch einfach mal ins Online-Handbuch, http://de2.php.net/session_start
Zitat:

bool session_start ( void )
Nimmt also keine Parameter an, kann also nicht die Lösung sein.
Du suchst die Funktion session_id()

rambi 26.12.2007 18:08:02

AW: Session Re-Loaden
 
Fremder Leute Sessions zu übernehmen ist böse! Auch, wenn es die eigenen Kunden sind. Evtl. dann sogar erst recht...
Ein System, in dem man Sessions "so einfach" übernehmen kann, ist schlampig entwickelt!
;-) ;-)
(----ja ich weiß...)
<duck und weg>

defabricator 26.12.2007 18:26:00

AW: Session Re-Loaden
 
Zitat:

Zitat von rambi (Beitrag 110772)
Ein System, in dem man Sessions "so einfach" übernehmen kann, ist schlampig entwickelt!

Nicht wenn man selbst "der Anbieter" ist.

rambi 26.12.2007 18:35:50

AW: Session Re-Loaden
 
Sag ich ja -->> (----ja ich weiß...)
Aber nichtsdestotrotz sollte man die Session nicht übernehmen können. Beauskunften wird man können. Aber übernehmen ist ein ganz anderer Schuh!!

defabricator 26.12.2007 18:53:43

AW: Session Re-Loaden
 
Und für die Auskunft ist es das einfachste die Session (aus PHP-Sicht) zu übernehmen und die Daten auszulesen. Die Session aus Benutzer-Sicht zu übernehmen ist dafür in der Tat nicht notwendig.

rambi 26.12.2007 19:12:08

AW: Session Re-Loaden
 
Nunja, Ansichtssache.....
Level 1:
session_id(blabla) reicht

Level 2:
Nur über den direkten Dateizugriff

Level3:
Es gibt durchaus einfache Möglichkeiten, Sessions so sehr abzudichten, dass du mit den Daten in der SessionDatei gar nix anfangen kannst.

defabricator 26.12.2007 19:30:35

AW: Session Re-Loaden
 
Wie auch immer, Deine eigenen Skripte kommen immer an Daten ran, oder werden die nur noch magisch verarbeitet? Also können die Daten auch "umgeleitet" werden. Wie aufwändig das ist (für Dich als Entwickler wohlgemerkt) hängt nur von der Menge security by obscurity, die Du eingebaut hast, ab.

Egal, die Antwort für PHP-CODER lautet mit einiger Sicherheit: Du sucht session_id().

rambi 26.12.2007 20:48:17

AW: Session Re-Loaden
 
Zitat:

security by obscurity
Grotten-leider-schlecht, muß ich dir in Grenzen zustimmen...(obwohl ich nicht will)

$_SESSION['warenkorb'] ist relativ leicht zu beauskunften

Ansonsten bedenke:
Jeder Browser schleppt sowas wie eine Signatur mit sich..
  • Wer bin ich
  • Welche Mimetypen mag ich und wie gerne
  • Welche Charsets mag ich und wie gerne
  • Gesetzte Cookies
  • Per output_add_rewrite_var() angehangene IDs
Innerhalb des Gültigkeitsbereiches einer Session wird er diese nicht ändern.
Und wenn, dann ist von einer Attacke auszugehen!! (Welche ja hier simuliert werden soll)

Kochrezept:
Eine Singleton Session Klasse, deren Referenz in $_SESSION abgelegt wird.
__wakeup() benutzt obrige Liste als Key zur Dekodierung der Daten


Am Rande:
session_regenerate_id() gibts ja auch noch...

defabricator 26.12.2007 20:52:12

AW: Session Re-Loaden
 
Und welche Bedeutung hat das für jemanden, der die Skripte ändern kann, Code hinzufügen kann? Darum geht es hier doch. Welche Schranken gibt es für den Entwickler? Keine relevanten.


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:31:38 Uhr.

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