Großes Problem mit Session

kesnw

Erfahrenes Mitglied
Hi,

ich hab schon einigemale gepostet aber leider noch keine befriedigende Antwort erhalten. Ich habe ein Verständnisproblem mit session.gc_maxlifetime and session.cookie_lifetime.

Ich habe einen internen Bereich programmiert, der über Sessions funktioniert. Nachdem Kennung und Passwort überprüft wurden, wird eine Session erzeugt:

Code:
session_start();
$_SESSION['username'] = $username;

Auf jeder "sicheren" Seite steht im Kopf folgender Code:

Code:
session_start();
if (!isset($_SESSION['username'])) // Test ob Session registriert ist
{
  // if session check fails, invoke error handler
  $target="error/error.php?".$TEXT['LANG'][$cont]."";
  $msg = "<meta http-equiv=\"Refresh\" content=\"0;url=$target\">"; 
  echo $msg;
} // Session registriert
else {
<HTML-CODE>
}

Nun habe ich testweise in der php.ini den Wert für session.cookie_lifetime auf "10" gesetzt. Also müsste ich ja nach 10 Sekunden auf die Error-Seite weitergeleitet werden. Dies ist leider nicht der Fall. Warum?

Grundsätzliche Fragen:

Cookiename:
Wie kann ich dem Cookie einen verschlüsselten Namen geben?

session.cookie_lifetime:
Wird die Lebensdauer des Cookies nach jedem Aktualisieren der Seite bzw. nach jedem Aufruf einer sicheren Seite erneut auf 10 Sekunden gesetzt? Wäre ja sinnvoll, da ich mich sonst nur eine zuvor definierte Zeitspanne in meinem sichern Bereich bewegen könnte.

session.gc_maxlifetime:
Wird diese Lebensdauer ebenfalls immer wieder verlängert oder läuft diese nach initialisierung der Session nach der angegebenen Zeit ab

ini_set("session.gc_maxlifetime",x)
Wofür wird ini_set benutzt? Ist dies nur dann sinnvoll, wenn man keine Berechtigung für die php.ini hat?


Danke!
 
Zuletzt bearbeitet:
Wieso denkst du das es etwas bringt einen neuen Thread aufzu tun. Wenn es im alten Thread niemand wusste weiss es im neuen auch niemand!

PHP.net sagt zu ini_set():
Sets the value of the given configuration option. Returns the old value on success, FALSE on failure. The configuration option will keep this new value during the script's execution, and will be restored at the script's ending.

Wenn du etwas in der php.ini einstellst ist das für alle Scripte so. Mit ini_set nur für deines.

MFG
redX
 
Das kenne ich schon auswendig... Mit

session.gc_maxlifetime spezifiziert die Anzahl der Sekunden, nach denen Daten als 'garbage' ('Müll') betrachtet und entsorgt werden.

ist meine Frage leider nicht beantwortet. und weshalb meine Session nach 10 Sec noch aktiv ist leider ebenfalls nicht :(
 
Du kannst ja auch die $target seite Includen. musst nicht eine Weiterleitung machen.
Und ist es nicht ein wenig schwachsinnig die session lifetime auf 10 Sekunden zu schalten? Das heisst alle 10 Sekunden muss der User sich neu anmelden?
Kannst du nicht eifach die Session zerstören? Was möchtest du denn genau machen?


MFG
redX
 
Zurück