예제 #1
0
<?
// define("NO_KEEP_STATISTIC", true);
// define("BX_SKIP_SESSION_TERMINATE_TIME", true);
// define("NOT_CHECK_FILE_PERMISSIONS", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

if($_SESSION["BX_SESSION_COUNTER"] > 1)
{
	if(check_bitrix_sessid())
	{
		//interval=0 - no user activity
		//interval>0 - expand session for user activity time
		$interval = intval($_REQUEST["interval"]);
		$nextTime = time() + $interval + ($interval>0? 60:0);
		if($_SESSION["BX_SESSION_TERMINATE_TIME"] < $nextTime)
			$_SESSION["BX_SESSION_TERMINATE_TIME"] = $nextTime;
		die("OK");
	}
}
elseif($USER->IsAuthorized())
{
	$cookie_prefix = COption::GetOptionString('main', 'cookie_name', 'BITRIX_SM');
	$salt = $_COOKIE[$cookie_prefix.'_UIDH']."|".$_SERVER["REMOTE_ADDR"]."|".@filemtime($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/version.php")."|".LICENSE_KEY."|".CMain::GetServerUniqID();
	if($_REQUEST["k"] == md5($_REQUEST["sessid"].$salt))
	{
		bitrix_sessid_set($_REQUEST['sessid']);
		die("SESSION_CHANGED");
	}
}
echo "SESSION_EXPIRED";
?>
예제 #2
0
파일: tools.php 프로젝트: nProfessor/Mytb
function bitrix_sessid()
{
	if(!is_array($_SESSION) || !array_key_exists("fixed_session_id", $_SESSION))
		bitrix_sessid_set();
	return $_SESSION["fixed_session_id"];
}
예제 #3
0
파일: tools.php 프로젝트: gitkv/bash
function bitrix_sessid()
{
    if (!is_array($_SESSION) || !isset($_SESSION['fixed_session_id'])) {
        bitrix_sessid_set();
    }
    return $_SESSION["fixed_session_id"];
}