Met session ID zoeken of combinatie gebruikersnaam, email, enz.
Wat is een "session blok"?
En als je "# Session and Cookie Infomation" hebt, moet dat blok dan niet daar in?
ik bedoelde met sessionblok de sessiongegevens die telkens opgegeven moeten worden bij session_start().
Hoe kan ik die verwerken in dat gedeelte, zodat ik die eenvoudig kan oproepen?
Waarom zet je ze niet in php.ini?
Vandaar dat de session dir. ook naar mijzelf toegehaald.
Toevoeging op 21/11/2017 00:14:11:
Zoiets?
Kan ik binnen een inlogclass verwijzen naar een sessionclass ?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Session{
public function __construct() {
ini_set("session.gc_maxlifetime", Session_Lifetime);
ini_set('session.cookie_lifetime', Session_Lifetime);
ini_set('session.gc_probability', 1);
ini_set('session.gc_diviser', 100);
session_save_path(realpath($_SERVER[ 'DOCUMENT_ROOT' ]) . "/ses/");
session_start();
session_regenerate_id();
}
public function set($k, $v){
$_SESSION[$k] = $v;
}
}
public function __construct() {
ini_set("session.gc_maxlifetime", Session_Lifetime);
ini_set('session.cookie_lifetime', Session_Lifetime);
ini_set('session.gc_probability', 1);
ini_set('session.gc_diviser', 100);
session_save_path(realpath($_SERVER[ 'DOCUMENT_ROOT' ]) . "/ses/");
session_start();
session_regenerate_id();
}
public function set($k, $v){
$_SESSION[$k] = $v;
}
}
En waar nodig:
SessionHandler class extenden.
In jouw geval zou ik dan eerder de ingebouwde Haal ook gelijk die session_regenerate_id() eens weg.
Werd juist geadviseerd om die toe te voegen...
Dat is met name belangrijk als je van HTTP redirect naar HTTP/S: de sessie-ID die zonder SSL-encryptie werd gebruikt, wil je op dat moment onbruikbaar maken, dus regenereer je de ID.
Als je je bestandssysteem constant wil volgooien met bestanden dan doe je het elke request opnieuw. Met een klein aantal gelijktijdige bezoekers loop je dan al tegen problemen aan. Gewoon niet doen dus, alleen op de momenten die Ward al aangeeft.
session_regenerate_id() heeft een optionele parameter $delete_old_session (default false). Als je die nou eens op true zet zou je kunnen kijken hoe groot de footprint van deze constructie daadwerkelijk is.
Zoals @Frank aangaf zul je je wel moeten vergewissen van het feit of de bestanden dan ook daadwerkelijk opgeruimd worden.
Daarnaast ben ik dus nog steeds van mening dat je dingen om een reden moet doen. session_regenerate_id() is geen toverspreuk die je te pas en te onpas uitvoert, dus als je geen reden hebt om op elk moment van sessie-id te switchen, doe dit dan niet.
En zoals @Ward (en ik eigenlijk ook) al aangaven is het een goed moment om van sessie-id te switchen wanneer er iets in de toestand (de relatie gebruiker <--> website) verandert, zoals inloggen.
Ook kun je je afvragen in hoeverre het uitkristalliseren van je sessie-management zin heeft als het fundament van je applicatie zelf nogal wankel is.
Zoals @Frank aangaf zul je je wel moeten vergewissen van het feit of de bestanden dan ook daadwerkelijk opgeruimd worden.
Daarnaast ben ik dus nog steeds van mening dat je dingen om een reden moet doen. session_regenerate_id() is geen toverspreuk die je te pas en te onpas uitvoert, dus als je geen reden hebt om op elk moment van sessie-id te switchen, doe dit dan niet.
En zoals @Ward (en ik eigenlijk ook) al aangaven is het een goed moment om van sessie-id te switchen wanneer er iets in de toestand (de relatie gebruiker <--> website) verandert, zoals inloggen.
Ook kun je je afvragen in hoeverre het uitkristalliseren van je sessie-management zin heeft als het fundament van je applicatie zelf nogal wankel is.