PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   2 sessions parallel? (https://www.php-resource.de/forum/php-developer-forum/29343-2-sessions-parallel.html)

weserweb 22-11-2003 13:38

2 sessions parallel?
 
hallo,
ich finde in der doku und hier leider nichts, folgendes "problem":

ich verwalte eine hp über ein admin-interface online.
die ganze admin läuft in einer session.

auf der eigentlichen hp gibt es mehrere verschiedene passwortgeschützte bereiche,
alle wählbar von einer startseite, die sich mit verschiedenen inhalten selbst aufruft und dazu, wenn passwort korrekt,
eine var in einer session registriert.
soweit so gut.

nun habe ich 2 browser auf:
in browser 1 nehme ich in der admin änderungen an der hp vor. session ist gestartet.
in browser 2 schaue ich mir nun die änderungen im geschützten bereich an. jetzt ist auch hier eine session gestartet.

um in browser 1 in der admin weiterzuarbeiten, muss ich mich neu einloggen.

offensichtlich killt die 2. session die 1. session.

anders gefragt:
können 2 sessions vom selben rechner, aber aus 2 verschiedenen browser-fenstern nebeneinander existieren?

danke und gruss

Coragon Rivito 22-11-2003 14:03

theoretisch nur wenn du 'session.use_cookies' auf 0 bzw false stellst und damit die weitergabe der sessionid per url erzwingst .. sonst wird das cookie immer überschrieben ..

oder du nimmst in jedem geschützen bereich einen anderen 'session.name'

=> siehe php.ini (http://at.php.net/ini)
http://at.php.net/manual/de/configuration.changes.php

weserweb 22-11-2003 14:16

danke für die info!

variante 1 fällt aus:
Zitat:

Wenn Sie PHP in der Modul-Variante ...
php läuft beim provider als cgi.

werde mal variante 2 versuchen.

noch eine frage dazu:
die session auf der hp wird nur dann gestartet, wenn die pw-abfrage ein korrektes ergebniss gebracht hat.

um zu verhindern, dass der nutzer nun praktisch ohne ein korrektes passwort in die anderen bereiche kommt, wird bei jedem zugriff auf die übersicht ein "session_destroy()" benutzt, also auch, wenn gar keine session gestartet ist.
fehlermeldung kommt keine, aber das kann man doch sicher "richtig" machen?
ich finde leider keine möglichkeit um herauszufinden, ob schon eine session existiert.

weserweb 22-11-2003 14:53

@ cr,
mit session_name() klappt es jetzt wunderbar!
danke für den hinweis! :D

Wotan 22-11-2003 14:59

Wie hast du das zweite Fenster geöffnet? Mit STRG+N oder per ICON?

Wen du das Fenster mit STRG+N öffenest werden automatisch die die Fenster-Daten mit übernommen. Du solltest dir lieber angewöhne für solche Sachen immer zwei Fenster übder das Icon öffen.

Wotan 22-11-2003 15:02

Zitat:

Original geschrieben von weserweb
um zu verhindern, dass der nutzer nun praktisch ohne ein korrektes passwort in die anderen bereiche kommt, wird bei jedem zugriff auf die übersicht ein "session_destroy()" benutzt, also auch, wenn gar keine session gestartet ist.
fehlermeldung kommt keine, aber das kann man doch sicher "richtig" machen?

Um es richtig zu machen, prüfst du ob eine Session da ist, wenn ja wird sie erstmal zerstört und dann neu auf gesetzt.
Tip: IF(ISSET($_SESSION['']))

Dabei solltest du aber aufpassen, das du keine Session zerstörst von Usern die sich gerade angemeldet haben.

weserweb 22-11-2003 15:11

@ wotan,

zu 1)
brauche ich mir nicht angewöhnen, mache ich nur so.

zu 2)
IF(ISSET($_SESSION[''])) - danach suchte ich! danke! ;)
Zitat:

Dabei solltest du aber aufpassen, das du keine Session zerstörst von Usern die sich gerade angemeldet haben.
ich habe mich naiverweise darauf verlassen, dass der apache das regelt, aber wie sollte er das können, richtig!

nun, dann werde ich noch einmal in die doku einsteigen.

danke für die hinweise.

Wotan 22-11-2003 15:13

Zitat:

Original geschrieben von weserweb
@ wotan,

zu 1)
brauche ich mir nicht angewöhnen, mache ich nur so.

Dann sollte es auch gehen, ohne das du dich neu einloggen must, da es zwei verschiedene Sessions sind!

weserweb 22-11-2003 15:30

wahrscheinlich habe ich mir einen gemacht:

ich benutze den crazy browser wg. der tabs. und der öffnet wohl kein echtes neues fenster, sondern eben einen neuen tab. vermutlich ist das der grund.

aber egal, ansonsten hätte ich die anderen tips nicht bekommen!
;)
danke noch einmal!

weserweb 22-11-2003 18:00

@ wotan,

noch einmal zur klarstellung:
Zitat:

Zitat von wotan:
Dabei solltest du aber aufpassen, das du keine Session zerstörst von Usern die sich gerade angemeldet haben.
manual:
Zitat:

manual:
session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten. Mit der Session zusammenhängende Globale Variablen und das Session-Cookie werden nicht gelöscht.
somit kann das killen der session von benutzer 1 die session von benutzer 2 nicht stören, oder verstehe ich da etwas falsch?
:confused:


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

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG