$_DSESSION = array_merge($_DSESSION, $db->fetch_first("SELECT {$membertablefields}\r\n\t\t\t\tFROM {$tablepre}members m WHERE uid='{$_DSESSION['sessionuid']}'")); } } else { if ($_DSESSION = $db->fetch_first("SELECT sid, groupid, groupid='6' AS ipbanned, pageviews AS spageviews, styleid, lastolupdate, seccode\r\n\t\t\tFROM {$tablepre}sessions WHERE sid='{$sid}' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='{$onlineip}'")) { clearcookies(); $sessionexists = 1; } } } if (!$sessionexists) { if ($discuz_uid) { if (!($_DSESSION = $db->fetch_first("SELECT {$membertablefields}, m.styleid\r\n\t\t\tFROM {$tablepre}members m WHERE m.uid='{$discuz_uid}' AND m.password='******' AND m.secques='{$discuz_secques}'"))) { clearcookies(); } } if (ipbanned($onlineip)) { $_DSESSION['ipbanned'] = 1; } $_DSESSION['sid'] = random(6); $_DSESSION['seccode'] = random(6, 1); } $_DSESSION['dateformat'] = empty($_DSESSION['dateformat']) || empty($_DCACHE['settings']['userdateformat'][$_DSESSION['dateformat'] - 1]) ? $_DCACHE['settings']['dateformat'] : $_DCACHE['settings']['userdateformat'][$_DSESSION['dateformat'] - 1]; $_DSESSION['timeformat'] = empty($_DSESSION['timeformat']) ? $_DCACHE['settings']['timeformat'] : ($_DSESSION['timeformat'] == 1 ? 'h:i A' : 'H:i'); $_DSESSION['timeoffset'] = isset($_DSESSION['timeoffset']) && $_DSESSION['timeoffset'] != 9999 ? $_DSESSION['timeoffset'] : $_DCACHE['settings']['timeoffset']; $membertablefields = ''; @extract($_DSESSION); $newpm = $prompt & 1; $doingtask = $prompt & 2 ? 1 : 0; $lastvisit = empty($lastvisit) ? $timestamp - 86400 : $lastvisit; $timenow = array('time' => gmdate("{$dateformat} {$timeformat}", $timestamp + 3600 * $timeoffset), 'offset' => $timeoffset >= 0 ? $timeoffset == 0 ? '' : '+' . $timeoffset : $timeoffset); if (PHP_VERSION > '5.1') {
function checkclose() { global $_SGLOBAL, $_SCONFIG; //站点关闭 if ($_SCONFIG['close'] && !ckfounder($_SGLOBAL['supe_uid']) && !checkperm('closeignore')) { if (empty($_SCONFIG['closereason'])) { showmessage('site_temporarily_closed'); } else { showmessage($_SCONFIG['closereason']); } } //IP访问检查 if ((!ipaccess($_SCONFIG['ipaccess']) || ipbanned($_SCONFIG['ipbanned'])) && !ckfounder($_SGLOBAL['supe_uid']) && !checkperm('closeignore')) { showmessage('ip_is_not_allowed_to_visit'); } }
function _init_session() { $this->session = new discuz_session(); if ($this->init_session) { $this->session->init($this->var['cookie']['sid'], $this->var['clientip'], $this->var['uid']); $this->var['sid'] = $this->session->sid; $this->var['session'] = $this->session->var; if ($this->var['sid'] != $this->var['cookie']['sid']) { dsetcookie('sid', $this->var['sid'], 86400); } if ($this->session->isnew) { if (ipbanned($this->var['clientip'])) { $this->session->set('groupid', 6); } } if ($this->session->get('groupid') == 6) { $this->var['member']['groupid'] = 6; sysmessage('user_banned'); } if ($this->var['uid'] && ($this->session->isnew || $this->session->get('lastactivity') + 600 < TIMESTAMP)) { $this->session->set('lastactivity', TIMESTAMP); if ($this->session->isnew) { DB::update('common_member_status', array('lastip' => $this->var['clientip'], 'lastvisit' => TIMESTAMP), "uid='" . $this->var['uid'] . "'"); } } } }
FROM {$tablepre}sessions WHERE sid='$sid' AND CONCAT_WS('.',ip1,ip2,ip3,ip4)='$onlineip'")) { clearcookies(); $sessionexists = 1; } } } if(!$sessionexists) { if($discuz_uid) { if(!($_DSESSION = $db->fetch_first("SELECT $membertablefields, m.styleid FROM {$tablepre}members m WHERE m.uid='$discuz_uid' AND m.password='******' AND m.secques='$discuz_secques'"))) { clearcookies(); } } if(ipbanned($onlineip)) $_DSESSION['ipbanned'] = 1; $_DSESSION['sid'] = random(6); $_DSESSION['seccode'] = random(6, 1); } $_DSESSION['dateformat'] = empty($_DSESSION['dateformat']) || empty($_DCACHE['settings']['userdateformat'][$_DSESSION['dateformat'] -1])? $_DCACHE['settings']['dateformat'] : $_DCACHE['settings']['userdateformat'][$_DSESSION['dateformat'] -1]; $_DSESSION['timeformat'] = empty($_DSESSION['timeformat']) ? $_DCACHE['settings']['timeformat'] : ($_DSESSION['timeformat'] == 1 ? 'h:i A' : 'H:i'); $_DSESSION['timeoffset'] = isset($_DSESSION['timeoffset']) && $_DSESSION['timeoffset'] != 9999 ? $_DSESSION['timeoffset'] : $_DCACHE['settings']['timeoffset']; $membertablefields = ''; @extract($_DSESSION); $disableprompt = !empty($_DCOOKIE['disableprompt']) ? explode('|', $_DCOOKIE['disableprompt']) : array(); if($prompt) {
private function _init_session() { $sessionclose = !empty($this->var['setting']['sessionclose']); $this->session = $sessionclose ? new dzz_session_close() : new dzz_session(); if ($this->init_session) { $this->session->init($this->var['cookie']['sid'], $this->var['clientip'], $this->var['uid']); $this->var['sid'] = $this->session->sid; $this->var['session'] = $this->session->var; if (!empty($this->var['sid']) && $this->var['sid'] != $this->var['cookie']['sid']) { dsetcookie('sid', $this->var['sid'], 86400); } if ($this->session->isnew) { if (ipbanned($this->var['clientip'])) { $this->session->set('groupid', 6); } } if ($this->session->get('groupid') == 6) { $this->var['member']['groupid'] = 6; sysmessage('user_banned'); } if ($this->var['uid'] && !$sessionclose && ($this->session->isnew || $this->session->get('lastactivity') + 600 < TIMESTAMP)) { $this->session->set('lastactivity', TIMESTAMP); if ($this->session->isnew) { if ($this->var['member']['lastip'] && $this->var['member']['lastvisit']) { dsetcookie('lip', $this->var['member']['lastip'] . ',' . $this->var['member']['lastvisit']); } C::t('user_status')->update($this->var['uid'], array('lastip' => $this->var['clientip'], 'lastvisit' => TIMESTAMP)); } } } }
private function _init_session() { $sessionclose = !empty($this->var['setting']['sessionclose']); $this->session = $sessionclose ? new discuz_session_close() : new discuz_session(); if ($this->init_session) { $this->session->init($this->var['cookie']['sid'], $this->var['clientip'], $this->var['uid']); $this->var['sid'] = $this->session->sid; $this->var['session'] = $this->session->var; if (!empty($this->var['sid']) && $this->var['sid'] != $this->var['cookie']['sid']) { dsetcookie('sid', $this->var['sid'], 86400); } if ($this->session->isnew) { if (ipbanned($this->var['clientip'])) { $this->session->set('groupid', 6); } } if ($this->session->get('groupid') == 6) { $this->var['member']['groupid'] = 6; if (!defined('IN_MOBILE_API')) { sysmessage('user_banned'); } else { mobile_core::result(array('error' => 'user_banned')); } } if ($this->var['uid'] && !$sessionclose && ($this->session->isnew || $this->session->get('lastactivity') + 600 < TIMESTAMP)) { $this->session->set('lastactivity', TIMESTAMP); if ($this->session->isnew) { if ($this->var['member']['lastip'] && $this->var['member']['lastvisit']) { dsetcookie('lip', $this->var['member']['lastip'] . ',' . $this->var['member']['lastvisit']); } C::t('common_member_status')->update($this->var['uid'], array('lastip' => $this->var['clientip'], 'port' => $this->var['remoteport'], 'lastvisit' => TIMESTAMP)); } } } }
exit('Access Denied'); } // Check Permissions if (!checkperm('manageip')) { cpmessage('no_authority_management_operation'); } if (submitcheck('thevaluesubmit')) { $setarr = array(); //ip permission check $_POST['config']['ipaccess'] = trim(preg_replace("/(\\s*(\r\n|\n\r|\n|\r)\\s*)/", "\r\n", $_POST['config']['ipaccess'])); if (!ipaccess($_POST['config']['ipaccess'])) { cpmessage('ip_is_not_allowed_to_visit_the_area', '', 1, array($_SGLOBAL[onlineip])); } //ip½ûÖ¹ $_POST['config']['ipbanned'] = saddslashes(trim(preg_replace("/(\\s*(\r\n|\n\r|\n|\r)\\s*)/", "\r\n", $_POST['config']['ipbanned']))); if (ipbanned($_POST['config']['ipbanned'])) { cpmessage('the_prohibition_of_the_visit_within_the_framework_of_ip', '', 1, array($_SGLOBAL[onlineip])); } foreach ($_POST['config'] as $var => $value) { $value = trim($value); if (!isset($_SCONFIG[$var]) || $_SCONFIG[$var] != $value) { $setarr[] = "('{$var}', '{$value}')"; } } if ($setarr) { $_SGLOBAL['db']->query("REPLACE INTO " . tname('config') . " (var, datavalue) VALUES " . implode(',', $setarr)); } // Update Cache include_once S_ROOT . './source/function_cache.php'; config_cache(); cpmessage('do_success', 'admincp.php?ac=ip');