Met session ID zoeken of combinatie gebruikersnaam, email, enz.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3

Ward van der Put
Moderator

Ward van der Put

20/11/2017 17:04:39
Quote Anchor link
Je mist nog AutoCollectie Infomation. ;-)

Wat is een "session blok"?
En als je "# Session and Cookie Infomation" hebt, moet dat blok dan niet daar in?
 
PHP hulp

PHP hulp

18/11/2024 01:38:28
 
Hans De Ridder

Hans De Ridder

20/11/2017 17:19:04
Quote Anchor link
Bedankt Ward,
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?
 
Ward van der Put
Moderator

Ward van der Put

20/11/2017 18:46:18
Quote Anchor link
Waarom zet je ze niet in php.ini?
 
Hans De Ridder

Hans De Ridder

20/11/2017 19:37:37
Quote Anchor link
Ik heb (voorlopig) te maken met gedeelde server.
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)
PHP script in nieuw venster Selecteer het PHP script
1
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;
}
 }


En waar nodig:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$session = new Session();
$session->set('key', 'value');
 
Ward van der Put
Moderator

Ward van der Put

21/11/2017 08:14:53
Quote Anchor link
In jouw geval zou ik dan eerder de ingebouwde SessionHandler class extenden.
 
Ben van Velzen

Ben van Velzen

21/11/2017 11:02:16
Quote Anchor link
Haal ook gelijk die session_regenerate_id() eens weg.
 
Hans De Ridder

Hans De Ridder

21/11/2017 11:47:38
Quote Anchor link
Met welk doel de regenerate weghalen Ben?
Werd juist geadviseerd om die toe te voegen...
 
Ward van der Put
Moderator

Ward van der Put

21/11/2017 11:57:18
Quote Anchor link
Nee, alleen als de toestand (state) van je applicatie verandert.
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.
 
Ben van Velzen

Ben van Velzen

21/11/2017 12:13:34
Quote Anchor link
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.
 
Thomas van den Heuvel

Thomas van den Heuvel

21/11/2017 13:43:32
Quote Anchor link
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.
 

Pagina: « vorige 1 2 3



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.