HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot//bs.kntsleep.com/system/basic/class/session.class.php
<?php
/*
 * Copyright (c) Huyin Information Technology Co., Ltd. All Rights Reserved.
 * BOSSCMS Content Management System (https://www.bosscms.net/)
 */
defined('IS_OK') or exit('Access Forbidden');

class session
{
	public function __construct(){
		$name = 'bosscms'.md5(ROOT_PATH);
		session_name($name);
		session_start();
		setcookie($name, session_id(), null, '/', null, null, true);
		if(!self::get('csrftoken')){
			self::set('csrftoken',strRand(18),3600*2);
		}
	}
	
	/** 
	 * 设置session
	 *
	 * @param string $name
	 * @param string|array $data
	 * @param integer $expire 默认超时时间为一天
	 */
	public static function set($name, $data, $expire=86400){
		$session = array();
		$session['data'] = $data;
		$session['time'] = TIME;
		$session['expire'] = $expire;
		$_SESSION[$name] = $session;
	}

	/**
	 * 读取session
	 * b o s s c m s
	 * @param string $name
	 * @param boolean $retime 是否重新定时
	 * @param boolean $group 是否返回完整数组
	 */
	public static function get($name, $retime=true, $group=false){
		if(isset($_SESSION[$name])){
			$session = $_SESSION[$name];
			if($session['time']+$session['expire'] > TIME){
				if($retime){
					$session['time'] = TIME;
					$_SESSION[$name] = $session;
				}
				if($group){
					return $session;
				}else{
					return $session['data'];
				}
			}else{
				self::clear($name);
			}
		}
		return false;
	}

	/**
	 * 清除session
	 * @param  string $name
	 */  
	public static function clear($name){
		unset($_SESSION[$name]);
	}
}
?>