forked from ferchang/reg8log
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcode_sess_start.php
More file actions
56 lines (46 loc) · 2.35 KB
/
Copy pathcode_sess_start.php
File metadata and controls
56 lines (46 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
if(ini_get('register_globals')) exit("<center><h3>Error: Turn that damned register globals off!</h3></center>");
if(!isset($parent_page)) exit("<center><h3>Error: Direct access denied!</h3></center>");
if(session_id()!=='' and session_name()==='reg8log_session') return;
require $index_dir.'include/config/config_identify.php';
@session_write_close();
$old_session_settings['cookie_lifetime']=session_get_cookie_params();
$old_session_settings['cookie_lifetime']=$old_session_settings['cookie_lifetime']['lifetime'];
session_set_cookie_params(0);
$old_session_settings['use_cookies']=ini_set('session.use_cookies', '1');
$old_session_settings['use_only_cookies']=ini_set('session.use_only_cookies', '1');
$old_session_settings['gc_maxlifetime']=ini_set('session.gc_maxlifetime', $identify_structs['session']['gc_maxlifetime']);
$old_session_settings['session_save_path']=session_save_path($identify_structs['session']['save_path']);
$old_session_settings['session_name']=session_name('reg8log_session');
$old_session_settings['session_id']=session_id();
$old_session_settings['httponly']=ini_set("session.cookie_httponly", 1);
$old_session_settings['trans_sid']=ini_set("session.use_trans_sid", 0);
if($https) $old_session_settings['cookie_secure']=ini_set('session.cookie_secure', 'on');
if(!session_start()) {
$failure_msg="session_start failed";
require $index_dir.'include/page/page_failure.php';
exit;
}
session_regenerate_id(true);
if(!isset($encrypt_session_files_contents)) require $index_dir.'include/config/config_crypto.php';
if(isset($_SESSION['reg8log_encrypted_session'])) {
$session_contents_were_encrypted=true;
if($encrypt_session_files_contents) $session0=$_SESSION;
require_once $index_dir.'include/func/func_encryption_with_site8client_keys.php';
$tmp5=unserialize(decrypt($_SESSION['reg8log_encrypted_session']));
if($tmp5===false) {
if(!isset($setup_page)) {
setcookie('reg8log_session', false, mktime(12,0,0,1, 1, 1990), '/', null, $https, true);
$failure_msg="Session decryption error!";
require $index_dir.'include/page/page_failure.php';
$session_decryption_error=true;
exit;
}
} else $_SESSION=$tmp5;
}
else if($encrypt_session_files_contents and !empty($_SESSION)) {
$_SESSION=null;
echo 'Warning: Unecrypted session contents! <small>(Session contents cleared)</small><br>';
}
if($encrypt_session_files_contents) $session1=$_SESSION;
?>