示例#1
0
 public static function submitcheck($var, $allowget = 0)
 {
     if (empty($GLOBALS[$var])) {
         return FALSE;
     } else {
         global $_SERVER, $seclevel, $seccode, $seccodedata, $seccodeverify, $secanswer, $_NCACHE, $_DCOOKIE, $timestamp, $discuz_uid;
         if ($allowget || $_SERVER['REQUEST_METHOD'] == 'POST' && $GLOBALS['formhash'] == GlobalCore::formhash() && empty($_SERVER['HTTP_X_FLASH_VERSION']) && (empty($_SERVER['HTTP_REFERER']) || preg_replace("/https?:\\/\\/([^\\:\\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^\\:]+).*/", "\\1", $_SERVER['HTTP_HOST']))) {
             return TRUE;
         } else {
             GlobalCore::showmessage('submit_invalid');
         }
     }
 }
        } else {
            $md5_password = md5($password);
            $password = preg_replace("/^(.{" . round(strlen($password) / 4) . "})(.+?)(.{" . round(strlen($password) / 6) . "})\$/s", "\\1***\\3", $password);
        }
        if (preg_match("%^[A-Za-z][A-Za-z0-9]*_?[A-Za-z0-9]*\$%i", $email)) {
            $where = "m.username = '******'";
        } else {
            $where = "m.email = '{$email}'";
        }
        $query = $db->query("SELECT m.uid AS nw_uid, m.username AS nw_user, m.nickname AS nw_nick,m.password AS nw_pw,\r\n\t\t\t\t\tm.adminid, m.groupid, m.lastvisit\r\n\t\t\t\t\tFROM {$tablepre}members m\r\n\t\t\t\t\tWHERE {$where}");
        $member = $db->fetch_array($query);
        if ($member['nw_uid'] && $member['nw_pw'] == $md5_password) {
            extract($member);
            $nw_userss = $nw_user;
            $nw_user = addslashes($nw_user);
            $nw_nick = addslashes($nw_nick);
            $styleid = 1;
            $cookietime = intval(isset($_POST['cookietime']) ? $_POST['cookietime'] : ($_DCOOKIE['cookietime'] ? $_DCOOKIE['cookietime'] : 0));
            GlobalCore::chobits_setcookie('cookietime', $cookietime, 31536000);
            GlobalCore::chobits_setcookie('auth', GlobalCore::authcode("{$nw_pw}\t{$nw_uid}", 'ENCODE'), $cookietime);
            $sessionexists = 0;
            GlobalCore::showmessage('login_succeed', NWDIR, 'DONE');
        }
        $errorlog = GlobalCore::nwHtmlspecialchars($timestamp . "\t" . ($member['nw_user'] ? $member['nw_user'] : stripslashes($username)) . "\t" . $password . "\t" . $onlineip);
        GlobalCore::writelog('illegallog', $errorlog);
        GlobalCore::loginfailed($loginperm);
        GlobalCore::showmessage('login_invalid', NWDIR . '/login', 'HALTED');
    }
} else {
    GlobalCore::showmessage('undefined_action');
}
示例#3
0
 public static function RecvPortraits($input_name, $img_id, $dir, $hash_type = 'null')
 {
     if (GlobalCore::disuploadedfile($_FILES[$input_name]['tmp_name']) && $_FILES[$input_name]['tmp_name'] != 'none' && $_FILES[$input_name]['tmp_name'] && trim($_FILES[$input_name]['name'])) {
         $pic_extarray = array('gif', 'jpg', 'png');
         $_FILES[$input_name]['name'] = GlobalCore::chobits_addslashes($_FILES[$input_name]['name']);
         $pic_ext = strtolower(GlobalCore::fileext($_FILES[$input_name]['name']));
         if (is_array($pic_extarray) && !in_array($pic_ext, $pic_extarray)) {
             GlobalCore::showmessage('profile_avatar_invalid');
         }
         if ($hash_type == 'id') {
             $filename = $img_id;
             $pic = $dir . '/l/' . GlobalCore::mkdir_by_uid($img_id, NOWHERE_ROOT . $dir . '/l') . '/' . $filename . '.' . $pic_ext;
         } else {
             $filename = $img_id . '_' . GlobalCore::random(5);
             $pic = $dir . '/l/' . GlobalCore::mkdir_hash($img_id, NOWHERE_ROOT . $dir . '/l') . '/' . $filename . '.' . $pic_ext;
         }
         $pic_target = NOWHERE_ROOT . './' . $pic;
         if (!@copy($_FILES[$input_name]['tmp_name'], $pic_target)) {
             @move_uploaded_file($_FILES[$input_name]['tmp_name'], $pic_target);
         }
         if (file_exists($pic_target)) {
             $port['pic'] = $pic;
             $port['filename'] = $filename;
             $port['pic_target'] = $pic_target;
             $port['pic_ext'] = $pic_ext;
             return $port;
         }
     }
 }
示例#4
0
 public static function UpdateSettings()
 {
     global $db, $nw_uid, $nw_pw, $tablepre, $timestamp, $adminid, $basic_settings, $webservice_settings, $password_old, $password_new, $password_new2;
     $define_settings = self::FetchDefineSettings();
     foreach ($define_settings as $key) {
         $val = GlobalCore::chobits_addslashes(trim($_POST[$key]));
         $db->query("REPLACE INTO {$tablepre}settings (variable, value) VALUES ('{$key}', '{$val}')");
     }
     if ($_POST['nickname']) {
         $nickname = GlobalCore::chobits_addslashes(GlobalCore::cutstr(GlobalCore::nwHtmlspecialchars($_POST['nickname']), 25, ''));
         $avatar = GlobalCore::chobits_addslashes(GlobalCore::nwHtmlspecialchars($_POST['avatar']));
         $db->query("UPDATE {$tablepre}members SET nickname='{$nickname}',avatar='{$avatar}' WHERE uid = '{$nw_uid}'");
         $db->query("REPLACE INTO {$tablepre}settings (variable, value) VALUES ('avatar', '{$avatar}')");
     }
     if ($_POST['password_new']) {
         if (md5($password_old) != $nw_pw) {
             GlobalCore::showmessage('profile_passwd_wrong', NULL, 'HALTED');
         }
         if ($password_new) {
             if ($password_new != addslashes($password_new)) {
                 GlobalCore::showmessage('profile_passwd_illegal');
             } elseif ($password_new != $password_new2) {
                 GlobalCore::showmessage('profile_passwd_notmatch');
             }
             $newpasswd = md5($password_new);
             $db->query("UPDATE {$tablepre}members SET password ='******' WHERE uid = '{$nw_uid}'");
             GlobalCore::showmessage('password_set_succeed', NWDIR . '/login', 'DONE');
         }
     }
     self::UpdateSettingsCache();
     GlobalCore::nwHeader('Location: ' . NWDIR . '/settings');
 }