webForumDet fria alternativet

nollställ miljövariabler?

PHPur PHP

1 svar · 180 visningar · startad av ikaros

Medlem sedan juni 2000114 inlägg
Frågan#1

Finns det något sätt att nollställa miljövariabler i php? Jag har en sida med php-authorization, och då används ju $PHP_AUTH_USER. Men när någon loggar ut vill jag nollställa denna (dvs så att isset() returnerar 0).

Går detta? I så fall, hur?

------------------
Micke Karlsson / Teknikchef / enjoymedia AB / Sthlm

Medlem sedan dec. 19992 555 inlägg
#2

Nollställa $PHP_AUTH_USER är nog trots allt inte vad du vill göra (misstänker jag) eftersom det på intet sätt loggar ut användaren.

Att ha en utloggningsfunktion när man använder HTTP-autentisering är vanskligt eftersom utloggning inte finns inbyggt i protokollet. Det du kan göra är att skicka en ny "401 Unauthorized" och hoppas på att webläsaren tömmer sin cache. Men det är inget du kan räkna med (Lynx gör det t.ex. inte). Finns ett avsnitt om detta (med exempel) i manualen.

Säkrast är nog att inte använda HTTP-autentisering i detta fall, utan att skriva en helt egen inloggningsfunktion (t.ex. genom att använda PHP4s inbyggda stöd för "sessions").

------------------
Robban < robban@lipogram.com >

138 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)