webForumDet fria alternativet

Sessioner...

4 svar · 300 visningar · startad av aasah

aasahMedlem sedan mars 20034 471 inlägg
#1

Igår sökte jag igenom alla möjliga trådar på jakt efter info om sessioner rent allmänt och PHP. Bland mycket annat hittade jag en länk från Matte till:
https://www.phpportalen.net/viewtopic.php?t=4403
vilket leder till ett skript som (såvitt jag förstår) Matte skrivit på phpportalen. Tyvärr har dagens lite snabbare sökning inte lyckats reproducera wF:s inlägg med länken i.

Jag har läst detta skript men förstår inte riktigt alla saker.

Session id:t måste ju vara unikt, hur försäkrar man sig om det? :q
Det sätt som skriptet ovan gör på förstår jag inte!? :q

rad 22 i index.php på ovan angivna sida skrev:

$_SESSION['sess_id'] = mysql_result($result, 0, 'id');

Innebär inte detta att data om såväl användarnamn som password lagras i SESSION?

Skulle man inte undvika att lagra passwords där?

Sedan läste jag på PHP.net om session_destroy() och jag förstår inte skillnaden på deras exempel 1 och 2. Är det någon som kan förklara? :q

K@llenMedlem sedan mars 20032 667 inlägg
#2

Kodsnutten ovan verkar ta ut den info som finns på position 0 i sql-frågan, dvs första angivna kolumnen i sql-frågan. Sedan läggs detta i en session-variabel.

Att ta död på sessions kan vara lite klurigt ibland. Exempelvis om man har register_globals=On och en PHP-version äldre än 4.3.0. Då kommer unset() inte att fungera för att ta bort en sessions-variabel. Detta är en bugg i PHP, istället får man använda session_unregister().

På webbhotellet jag använder hade jag problem att ta död på sessions. Då använder jag följande kodsnutt för att lyckas:

foreach($_SESSION as $key => $val) {
  session_unregister($key);
}
$_SESSION = array();
aasahMedlem sedan mars 20034 471 inlägg
#3

Aha! Tack, K@llen! :D

Betyder det att om register_globals är OFF och man har version 4.3.1 så försvinner problemet och alternativ 1 (session_unset och sedan session_destroy) fungerar? :q

MatteMedlem sedan aug. 20002 975 inlägg
#4

Fr.o.m 4.3.0 ska det inte vara några problem oberoende av om register_globals är satt eller ej.

aasahMedlem sedan mars 20034 471 inlägg
#5

Tack, matte! :D

Vill även passa på att tacka för länken ovan, eftersom den hjälpte mig enormt! :D

136 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)