X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fsession.php;h=d0e15a3f62661868630328334abab9cb0bd7cb8b;hb=3c2f106c02f6d86a90f529a0564abcbbe716fe71;hp=f3b02711625248d411212863a9e373eda9a167b8;hpb=0da26ebf67e1a6c8e5ab5f23639c6abd99d84b2d;p=mailer.git diff --git a/inc/session.php b/inc/session.php index f3b0271162..d0e15a3f62 100644 --- a/inc/session.php +++ b/inc/session.php @@ -32,7 +32,7 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) { +if (!defined('__SECURITY')) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); } @@ -45,15 +45,25 @@ if (empty($VIEW)) $VIEW = 0; // Skip updating of cookies when viewing a banner if (($VIEW == 1) && ($_SERVER['PHP_SELF'])) return; +// Set session save path if set +if (!empty($_CONFIG['session_save_path'])) { + // Please make sure this valid! + @session_save_path($_CONFIG['session_save_path']); +} // END - if + // Start the session @session_start(); +global $PHPSESSID; $PHPSESSID = @session_id(); // Store language code in cookie set_session("mx_lang", $mx_lang); +// Load extensions here +require_once(PATH."inc/load_extensions.php"); + // Check if refid is set -if ((!empty($_GET['user'])) && ($CLICK == 1) && ($_SERVER['PHP_SELF'] == "click.php")) { +if ((!empty($_GET['user'])) && ($CLICK == 1) && (basename($_SERVER['PHP_SELF']) == "click.php")) { // The variable user comes from the click-counter script click.php and we only accept this here $GLOBALS['refid'] = bigintval($_GET['user']); } elseif (!empty($_POST['refid'])) { @@ -68,7 +78,7 @@ if ((!empty($_GET['user'])) && ($CLICK == 1) && ($_SERVER['PHP_SELF'] == "click. } elseif (isSessionVariableSet('refid')) { // Set session refid als global $GLOBALS['refid'] = bigintval(get_session('refid')); -} elseif (GET_EXT_VERSION("sql_patches") != '') { +} elseif (GET_EXT_VERSION("sql_patches") != "") { // Set default refid as refid in URL $GLOBALS['refid'] = bigintval($_CONFIG['def_refid']); } else { @@ -79,8 +89,23 @@ if ((!empty($_GET['user'])) && ($CLICK == 1) && ($_SERVER['PHP_SELF'] == "click. // Set cookie when default refid > 0 if (!isSessionVariableSet('refid') || (!empty($GLOBALS['refid'])) || ((get_session('refid') == "0") && ($_CONFIG['def_refid'] > 0))) { // Set cookie - set_session("refid", $GLOBALS['refid']); -} + set_session('refid', $GLOBALS['refid']); +} // END - if + +// Transfer userid from session and validate it +if (isset($_SESSION['userid'])) { + // Get it secured from session + $GLOBALS['userid'] = bigintval($_SESSION['userid']); + + // Is it valid? + if (!IS_MEMBER()) { + // Then destroy the user id + destroy_user_session(); + + // Kill userid + $GLOBALS['userid'] = 0; + } // END - if +} // END - if // Test session if index.php or modules.php is loaded if ((basename($_SERVER['PHP_SELF']) == "index.php") || (basename($_SERVER['PHP_SELF']) == "modules.php") || (isBooleanConstantAndTrue('mxchange_installing'))) { @@ -91,7 +116,8 @@ if ((basename($_SERVER['PHP_SELF']) == "index.php") || (basename($_SERVER['PHP_S // Cookies rejected! define('__COOKIES', false); } -} +} // END - if + //* DEBUG: */ print("
".print_r($_SESSION, true)."
"); //