PHP-Authentifizierung
Fabienne
- php
0 globe
Guten Abend zusammen,
ich habe folgendes Problem:
In einen internen Bereich kommt der Benutzer nach www-Authenticate durch ein PHP-Script.
Ich möchte unterscheiden, ob der Nutzer sich gerade eben erst authentifiziert hat, oder ab er schon lange auf der Seite ist.
Ich würde gerne eine Variable VOR dem header-Senden belegen, die mir sagt, ob der User schon eingeloggt ist/war oder nicht:
if( !isset($_SERVER['PHP_AUTH_USER']) )
{
$erster_login=true;
Header("WWW-Authenticate: Basic realm="LOGIN-Bereich "");
Header("HTTP/1.0 401 Unauthorized");
}
else
{
// User überprufen
// Kein erster LOGIN mehr
$erster_login=false;
}
Problem dabei: Scheinbar wird durch das Senden des headers die Var gelöscht. Diese ist zumindest nicht mehr da. (Selbst eine SESSION-Var ist nicht mehr da !?!?)
Weiß jemand näheres zu diesem Sachverhalt, was mit Vars passiert?
Viele Grüße
Fabienne
n'abend,
Weiß jemand näheres zu diesem Sachverhalt, was mit Vars passiert?
du könntest einen Cookie setzen.
Wenn du mit Sessions arbeiten möchtest, stelle sicher, dass die Sessiondaten auch geschrieben werden. session_write_close() könnte da nützlich sein. (Ich meine mich daran erinnern zu können, dass Sessions unter gewissen Umständen nicht geschrieben werden können...)
Wenn du Header schickst und damit eigentlich den weiteren Verlauf deines Scripts abbrechen willst, dann sorge dafür, dass dein Script auch wirklich abgebrochen wird.
header('...');
header('...');
header('...');
exit;
weiterhin schönen abend...