GlisWeb framework
_055.session.php
Vai alla documentazione di questo file.
1 <?php
2 
24  // costante per la durata massima della sessione
25  // NOTA potrebbe essere già stata dichiarata dall'utente in 030.session.php
26  if( ! defined( 'SESSION_LIMIT' ) ) {
27  define( 'SESSION_LIMIT' , 3600 );
28  }
29 
30  // durata massima del periodo di inattività della sessione
31  // ini_set( 'session.gc-maxlifetime', SESSION_LIMIT );
32  // if( session_set_cookie_params( SESSION_LIMIT ) ) {
33  // logWrite( 'settata la durata della sessione a ' . SESSION_LIMIT, 'session', LOG_INFO );
34  // } else {
35  // logWrite( 'errore nel settaggio della durata della sessione', 'session', LOG_CRIT );
36  // }
37  // NOTA questi sistemi non sono affidabili per determinare la durata della sessione
38  // vedi _220.auth.php per il logout implicito per inattività
39 
40  // controllo output
41  if( headers_sent( $file, $line ) ) {
42  die( 'output iniziato in ' . $file . ' linea ' . $line );
43  }
44 
45  // timer
46  timerCheck( $cf['speed'], ' -> inizio avvio sessione' );
47 
48  // avvio della sessione php
49  if( session_start() ) {
50  logWrite( 'avviata la sessione ' . session_id(), 'session', LOG_DEBUG );
51  } else {
52  logWrite( 'impossibile avviare la sessione', 'session', LOG_CRIT );
53  }
54 
55  // timer
56  timerCheck( $cf['speed'], ' -> fine avvio sessione' );
57 
58  // debug
59  // $h = fopen( DIRECTORY_BASE . 'var/log/sessions.debug', 'a+' );
60  // fwrite( $h, date('Y-m-d H:i:s') . ' ' . session_id() . ' -> current' . PHP_EOL );
61  // fclose( $h );
62 
63  // registro l'id della sessione nell'array $cf
64  $_SESSION['id'] = session_id();
65 
66  // imposto il tempo se la sessione è appena stata creata
67  if( ! isset( $_SESSION['used'] ) ) {
68  $_SESSION['used'] = time();
69  }
70 
71  // connetto i dati della sessione all'array $cf
72  $cf['session'] = &$_SESSION;
73 
74  // connetto $cf['session'] a $ct['session']
75  $ct['session'] = &$cf['session'];
76 
77  // debug
78  // echo 'sessione ' . session_id();
79  // print_r( $cf['session'] );
80 
81 ?>
logWrite( $m, $f='site', $l=LOG_NOTICE, $d=DIRECTORY_LOG, $t=CURRENT_LOG_LEVEL, $s=SITE_STATUS)
scrive un messaggio nei log del sito
Definition: _log.utils.php:48
$file
Definition: _osm.php:32
$ct['session']
$_SESSION['id']
timerCheck(&$a, $c)
if(! isset( $_SESSION['used'])) $cf['session']