Session Timeout
nimble
- php
Hi
Seit einiger zeit arbeite ich mit php Sessions. Nach der Authentifizierung erstelle ich ein "user"-Objekt, welches in der session landet, ist das Objekt nicht da, muss sich der Benutzer authentifizieren.
Das genze sieht vereinfacht so aus:
session_start();
if(isset($_SESSION["user"]))
{
$user = $_SESSION["user"];
}
else
{
echo 'loginpage';
}
Ein Java-Script ruft nach erfolgreichem login regelmässig Statusmeldungen ab, session_start() wird dabei bei jeder Kommunikation mit dem Server ausgeführt, somit sollte meiner Meinung nach die Session immer wieder erneuert werden.
nach ca. 8-10 min bricht das automatische nachladen ab, die session ist weg und der user muss sich wieder neu anmelden.
Ich bin bei einem Hosting-Anbieter und kann an der php.ini nichts ändern, zur info hier aber der relevante abschnitt:
Session Support enabled
Registered save handlers files user sqlite
Registered serializer handlers php php_binary wddx
Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0
Auch die Funktion session_set_cookie_params(900); welche ich vor session_start(); aufrufe bringt keine Besserung.
Kann mir jemand weiterhelfen?
vielen Dank im voraus!
THX
------------------------------
A programmer is just a tool which converts coffeine into code.
------------------------------
Hi!
Ich bin bei einem Hosting-Anbieter und kann an der php.ini nichts ändern, zur info hier aber der relevante abschnitt:
Alle Session-Parameter können auch im Script vor dem session_start() geändert werden.
nach ca. 8-10 min bricht das automatische nachladen ab, die session ist weg und der user muss sich wieder neu anmelden.
Es kann sein, dass andere Mithostlinge durch schärfere Garbage-Collection-Einstellungen auch deine Sessions aus dem
session.save_path /tmp /tmp
wegräumen. Du solltest dir ein eigenes Verzeichnis für deine Sessiondaten anlegen, das aber unbedingt außerhalb des DocumentRoot oder wenigstens zugriffsgeschützt.
Lo!
Hello,
Ein Java-Script ruft nach erfolgreichem login regelmässig Statusmeldungen ab, session_start() wird dabei bei jeder Kommunikation mit dem Server ausgeführt, somit sollte meiner Meinung nach die Session immer wieder erneuert werden.
Dann sende doch testhalbner auch die Session-ID vor und nach Session_start() mit und lass Dir vom JavaScript anzeigen.
Was kannst Du da sehen?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg