示例#1
0
                $sql .= ', groupexpiry=\'' . groupexpiry($member['groupterms']) . '\'';
            } else {
                $query = DB::query("SELECT groupid FROM " . DB::table('common_usergroup') . " WHERE type='member' AND creditshigher<='{$member['credits']}' AND creditslower>'{$member['credits']}'");
                $groupidnew = DB::result($query, 0);
                $adminidnew = 0;
            }
        } else {
            $groupidnew = $member['groupid'];
            $adminidnew = $member['adminid'];
        }
        $sql .= ", adminid='{$adminidnew}', groupid='{$groupidnew}'";
        DB::query("UPDATE " . DB::table('common_member') . " SET {$sql} WHERE uid='{$member['uid']}'");
        $my_opt = in_array($groupidnew, array(4, 5)) ? 'banuser' : 'unbanuser';
        my_thread_log($my_opt, array('uid' => $member['uid']));
        if (DB::affected_rows()) {
            savebanlog($member['username'], $member['groupid'], $groupidnew, $banexpirynew, $reason);
        }
        DB::query("UPDATE " . DB::table('common_member_field_forum') . " SET groupterms='" . ($member['groupterms'] ? addslashes(serialize($member['groupterms'])) : '') . "' WHERE uid='{$member['uid']}'");
        acpmsg('modcp_member_ban_succeed', "{$cpscript}?mod=modcp&action={$_G['gp_action']}&op={$op}");
    }
} elseif ($op == 'ipban' && $_G['group']['allowbanip']) {
    require_once libfile('function/misc');
    $iptoban = getgpc('ip') ? dhtmlspecialchars(explode('.', getgpc('ip'))) : array('', '', '', '');
    $updatecheck = $addcheck = $deletecheck = $adderror = 0;
    if (submitcheck('ipbansubmit')) {
        $_G['gp_delete'] = isset($_G['gp_delete']) ? $_G['gp_delete'] : '';
        if ($ids = dimplode($_G['gp_delete'])) {
            DB::query("DELETE FROM " . DB::table('common_banned') . " WHERE id IN ({$ids}) AND ('{$_G['adminid']}'='1' OR admin='{$_G['username']}')");
            $deletecheck = DB::affected_rows();
        }
        if ($_G['gp_ip1new'] != '' && $_G['gp_ip2new'] != '' && $_G['gp_ip3new'] != '' && $_G['gp_ip4new'] != '') {
示例#2
0
 protected function _handleEvilUser($uid, $evilType, $evilLevel = 1)
 {
     global $_G;
     include_once DISCUZ_ROOT . './source/language/lang_admincp_cloud.php';
     $securityService = Cloud::loadClass('Service_Security');
     $securityService->writeLog($uid, 'uid');
     $evilUser = C::t('#security#security_eviluser')->fetch($uid);
     if (count($evilUser)) {
         $data = $evilUser;
         $data['evilcount'] = $evilUser['evilcount'] + 1;
     } else {
         if ($this->_checkUserIgnore($uid)) {
             return false;
         }
         $data = array('uid' => $uid, 'evilcount' => 1, 'eviltype' => $evilType, 'createtime' => TIMESTAMP);
         $user = C::t('common_member')->fetch($uid, 0, 1);
         C::t('#security#security_eviluser')->insert($data, false, true);
         $this->_updateEvilCount('member');
         if (is_array($user)) {
             require_once libfile('function/misc');
             $update = C::t('common_member')->update($uid, array('groupid' => 4));
             if ($update) {
                 $_G['member']['username'] = '******';
                 savebanlog($user['username'], $user['groupid'], 4, 0, $extend_lang['security_modreason']);
             }
         } else {
             $data['operateresult'] = 2;
             C::t('#security#security_eviluser')->insert($data, false, true);
         }
     }
     return true;
 }
function handleEvilUser($uid, $evilType, $evilLevel = 1)
{
    global $_G;
    if (notOpenService()) {
        return false;
    }
    include_once DISCUZ_ROOT . './source/language/lang_admincp_cloud.php';
    loadSecLog($uid, 'uid');
    $evilUser = DB::fetch_first("SELECT * FROM " . DB::table('security_eviluser') . " WHERE uid='{$uid}'");
    if (is_array($evilUser)) {
        $data = $evilUser;
        $data['evilcount'] = $evilUser['evilcount'] + 1;
    } else {
        if (checkUserIgnore($uid)) {
            return true;
        }
        $data = array('uid' => $uid, 'evilcount' => 1, 'eviltype' => $evilType, 'createtime' => TIMESTAMP);
        $user = DB::fetch_first("SELECT * FROM " . DB::table('common_member') . " WHERE uid = '{$uid}'");
        DB::insert('security_eviluser', $data, 0, 1);
        updateEvilCount('member');
        if (is_array($user)) {
            require_once libfile('function/misc');
            $update = DB::update('common_member', array('groupid' => 4), "uid = '" . $uid . "'");
            if ($update) {
                $_G['member']['username'] = '******';
                savebanlog($user['username'], $user['groupid'], 3, 0, $extend_lang['security_modreason']);
            }
        } else {
            $data['operateresult'] = 2;
            DB::insert('security_eviluser', $data, 0, 1);
        }
    }
    return true;
}