public function checkUsername($username) { $this->initDiscuzApi(); if (UC_CHARSET == 'gbk') { $username = iconv('UTF-8', 'gb2312', $username); } $result = uc_user_checkname($username); return $this->convertApiResult($result); }
/** * Check whether the given username is legal(not in the forbidden list). * @param $username: a username * @return true if the username is legal; false otherwise. * */ public function CheckUsernameValid($username) { /* uc_user_checkname is defined as a global function */ $result = uc_user_checkname($username); if ($result > 0) { return true; } else { return false; } }
public function checkUcenterName($attribute, $params) { //ucenter Yii::import('ext.ucenter.MUcenter', true); $flag = uc_user_checkname($this->name); switch ($flag) { case -1: $this->addError('name', Yii::t('app', '用户名不合法')); break; case -2: $this->addError('name', Yii::t('app', '包含不允许注册的词语')); break; case -3: $this->addError('name', Yii::t('app', '用户名已经存在')); break; } }
/** * 检测会员是否存在 * @author Vimhui Develop Team * @param $username 会员名 * @return bool */ public function checkUserExit($username,$isreturn=false) { $ucresult = uc_user_checkname($username); if($isreturn === true) return $ucresult; if ($ucresult == 1){ return true; } if($ucresult == -1) { $this->uc_error = 'profile_username_illegal'; return false; } elseif($ucresult == -2) { $this->uc_error = 'profile_username_protect'; return false; } elseif($ucresult == -3) { $this->uc_error = 'register_check_found'; return false; } }
function ajax_check_name() { $this->uid != NULL && exit('Acess Denied!'); $this->toclose(); $register = M('user'); if ($register->where(array('name' => $this->post['name']))->count() != 0) { exit('重新注册<script>$("#tip_mid").html("该用户名已被使用!"); $("#tip").css({left:$("#reg_name").offset().left+100,top:$("#reg_name").offset().top-46}); swing("register_div");</script> '); } else { if ($register->where(array('email' => $this->post['email']))->count() != 0) { exit('重新注册<script>$("#tip_mid").html("该邮箱已被使用!"); $("#tip").css({left:$("#reg_email").offset().left+100,top:$("#reg_email").offset().top-46}); swing("register_div");</script>'); } else { if ($this->setting['is_invite_register'] == 1 && ($register->where(array('invitecode' => $this->post['invite_val']))->count() == 0 || $register->where(array('invitecode' => $this->post['invite_val']))->getField('invitecount') < 1)) { exit('重新注册<script>$("#tip_mid").html("该邀请码已失效!"); $("#tip").css({left:$("#invite_code_input").offset().left+100,top:$("#invite_code_input").offset().top-46}); swing("register_div");</script>'); } else { if ($this->setting['register_code'] == 1 && md5($this->post['code']) != $_SESSION['verify']) { exit('重新注册<script>$("#tip_mid").html("验证码输入错误!"); $("#tip").css({left:$("#reg_code").offset().left+100,top:$("#reg_code").offset().top-46}); swing("register_div");</script>'); } else { if ($this->setting['ucenter_on'] == 1) { if (uc_user_checkemail($this->post['email'] != 1)) { exit('重新注册<script>$("#tip_mid").html("UC:该邮箱不能注册!"); $("#tip").css({left:$("#reg_email").offset().left+100,top:$("#reg_email").offset().top-46}); swing("register_div");</script>'); } else { if (uc_user_checkname($this->post['name'] != 1)) { exit('重新注册<script>$("#tip_mid").html("UC:该用户名不能注册!"); $("#tip").css({left:$("#reg_email").offset().left+100,top:$("#reg_email").offset().top-46}); swing("register_div");</script>'); } } } echo '正在注册...<script>document.register_form.submit();</script>'; } } } } }
public function check_uname($uname) { $ret = uc_user_checkname($this->iconv($uname)); if ($ret > 0) { return $uname; } else { if ($ret == -1) { $this->err->add('用户名不合法', 281); } else { if ($ret == -2) { $this->err->add('包含要不允许注册的词语', 282); } else { if ($ret == -3) { $this->err->add('用户名已经存在', 283); } } } } return false; }
function doregister() { $rules = array(array('password', 'require', '密码不能为空!', 1), array('user_realname', 'require', '用户名不能为空!', 1), array('repassword', 'require', '重复密码不能为空!', 1), array('repassword', 'password', '确认密码不正确', 0, 'confirm')); if (I('post.reg_type') == 1) { if (!sp_check_verify_code()) { $this->error("验证码错误!"); } $_POST['email'] = I('post.username'); array_unshift($rules, array('username', 'require', '邮箱不能为空!', 1), array('email', 'email', '邮箱格式不正确!', 1)); } else { array_unshift($rules, array('username', 'require', '手机号码不能为空!', 1)); $user_phone = I('post.username'); if (!preg_match('/^[1][3458]{1}[0-9]{9}$/', $user_phone)) { $this->error('手机号码格式有误'); } //手机号码格式检测 $check = M('Sms')->field('code,add_time')->where(array('phone' => $user_phone))->order('id desc')->find(); if (empty($_POST['code'])) { $this->error('验证码不能为空'); } if (strtolower($check['code']) != strtolower(I('post.code'))) { $this->error("手机验证码错误"); } if (time() > $check['add_time'] + 3600) { $this->error('验证码已过期,请重新获取'); } } $users_model = M("Member"); if ($users_model->validate($rules)->create() === false) { $this->error($users_model->getError()); } extract($_POST); //用户名需过滤的字符的正则 /**$stripChar = '?<*.>\'"'; if(preg_match('/['.$stripChar.']/is', $username)==1){ $this->error('用户名中包含'.$stripChar.'等非法字符!'); } **/ $banned_usernames = explode(",", sp_get_cmf_settings("banned_usernames")); if (in_array($username, $banned_usernames)) { $this->error("此用户名禁止使用!"); } if (strlen($password) < 6 || strlen($password) > 20) { $this->error("密码长度至少6位,最多20位!"); } $where['user_login'] = $username; $where['user_email'] = $email; // $where['user_realname']=$user_realname; $where['_logic'] = 'OR'; $ucenter_syn = C("UCENTER_ENABLED"); $uc_checkemail = 1; $uc_checkusername = 1; if ($ucenter_syn) { include UC_CLIENT_ROOT . "client.php"; $uc_checkemail = uc_user_checkemail($email); $uc_checkusername = uc_user_checkname($username); } $users_model = M("Member"); $result = $users_model->where($where)->count(); if ($result || $uc_checkemail < 0 || $uc_checkusername < 0) { $this->error("用户名或者该邮箱已经存在!"); } else { $uc_register = true; if ($ucenter_syn) { $uc_uid = uc_user_register($username, $password, $email); //exit($uc_uid); if ($uc_uid < 0) { $uc_register = false; } } if ($uc_register) { $need_email_active = C("SP_MEMBER_EMAIL_ACTIVE"); if ($need_email_active) { //配置为需要邮件激活时 if (I('post.reg_type') == 1) { //邮箱注册 $need_email_active = true; } else { if (I('post.reg_type') == 2) { //手机号码注册 $need_email_active = false; } } } $data = array('user_login' => $username, 'user_email' => $email, 'user_nicename' => $username, 'user_realname' => $user_realname, 'user_pass' => sp_password($password), 'last_login_ip' => get_client_ip(), 'create_time' => date("Y-m-d H:i:s"), 'last_login_time' => date("Y-m-d H:i:s"), 'user_status' => $need_email_active ? 2 : 1, "utype" => 0, 'user_phone' => $user_phone); $rst = $users_model->add($data); if ($rst) { //登入成功页面跳转 $data['id'] = $rst; //插入我的账户 $account = M("Account"); $ac['uid'] = $rst; $ac['money'] = get_point_rule('register'); $account->add($ac); $_SESSION['user'] = $data; //发送激活邮件 if ($need_email_active) { $this->_send_to_active(); unset($_SESSION['user']); $this->success("注册成功,激活后才能使用!", U("user/login/index")); } else { $this->success("注册成功!", __ROOT__ . "/"); } } else { $this->error("注册失败!", U("user/register/index")); } } else { $this->error("注册失败!", U("user/register/index")); } } }
/** * 验证会员名 * Enter description here ... * @param unknown_type $member_name */ function verify_member_name($member_name, $member_id = 0, $identifier = 0, $type, $isUc = 1) { $member_name = addslashes(trim(stripslashes($member_name))); $ret = $this->member_name_auth($member_name); if ($ret < 0 && $type == 'm2o') { return $ret; //-4 超出最大长度 -5 低于最小长度 -6 含有 % @ < > * 特殊符号 } else { if ($this->member_name_exists($member_name, $member_id, $identifier)) { return -7; //用户名存在 } elseif ($this->settings['ucenter']['open'] && $isUc && !$identifier) { include_once CUR_CONF_PATH . 'uc_client/client.php'; return uc_user_checkname($member_name); } } return 1; }
} else { exit("err"); } } else { exit("err"); } } elseif ($act == 'check_usname') { require_once QISHI_ROOT_PATH . 'include/fun_user.php'; $usname = trim($_POST['usname']); if (strcasecmp(QISHI_DBCHARSET, "utf8") != 0) { $usname = utf8_to_gbk($usname); } $user = get_user_inusername($usname); if (defined('UC_API')) { include_once QISHI_ROOT_PATH . 'uc_client/client.php'; if (uc_user_checkname($usname) === 1 && empty($user)) { exit("true"); } else { exit("false"); } } empty($user) ? exit("true") : exit("false"); } elseif ($act == 'check_email') { require_once QISHI_ROOT_PATH . 'include/fun_user.php'; $email = trim($_POST['email']); if (strcasecmp(QISHI_DBCHARSET, "utf8") != 0) { $email = utf8_to_gbk($email); } $user = get_user_inemail($email); if (defined('UC_API')) { include_once QISHI_ROOT_PATH . 'uc_client/client.php';
public function ajax_username() { $username = isset($_GET['username']) && trim($_GET['username']) ? trim($_GET['username']) : exit('0'); if (CHARSET != 'utf-8') { $username = iconv('utf-8', CHARSET, $username); $username = addslashes($username); } if ($this->db->get_one(array('username' => $username))) { exit('0'); } else { //UCenter部分 if ($this->config['ucuse']) { pc_base::load_config('uc_config'); include PHPCMS_PATH . 'api/uc_client/client.php'; $rs = uc_user_checkname($username); if ($rs < 1) { exit('0'); } } exit('1'); } }
$cfg_ml->DelCache($mid); ShowMsg('操作成功,请重新登录系统!', 'login.php'); exit; } else { if ($fmdo == 'user') { //检查用户名是否存在 if ($dopost == "checkuser") { AjaxHead(); $msg = ''; $uid = trim($uid); if ($cktype == 0) { $msgtitle = '用户笔名'; } else { #api{{ if (defined('UC_API') && @(include_once DEDEROOT . '/uc_client/client.php')) { $ucresult = uc_user_checkname($uid); if ($ucresult > 0) { echo "<font color='#4E7504'><b>√用户名可用</b></font>"; } elseif ($ucresult == -1) { echo "<font color='red'><b>×用户名不合法</b></font>"; } elseif ($ucresult == -2) { echo "<font color='red'><b>×包含要允许注册的词语</b></font>"; } elseif ($ucresult == -3) { echo "<font color='red'><b>×用户名已经存在</b></font>"; } exit; } #/aip}} $msgtitle = '用户名'; } if ($cktype != 0 || $cfg_mb_wnameone == 'N') {
dsetcookie('con_auth_hash'); connect_error_output('qqconnect:connect_login_first'); } $conuin = $connect_guest['conuin']; $conuinsecret = $connect_guest['conuinsecret']; if ($conuin && $conuinsecret && $conopenid) { try { $connectOAuthClient = Cloud::loadClass('Service_Client_ConnectOAuth'); $connect_user_info = $connectOAuthClient->connectGetUserInfo($conopenid, $conuin, $conuinsecret); } catch (Exception $e) { connect_error_output(); } if ($connect_user_info['nickname']) { $qq_nick = $connect_user_info['nickname']; $connect_nickname = $connectService->connectFilterUsername($qq_nick); } loaducenter(); $ucresult = uc_user_checkname($connect_nickname); $first_available_username = ''; if ($ucresult >= 0) { $first_available_username = $connect_nickname; } echo $first_available_username; } } include template('common/footer'); function connect_error_output($error = '') { include template('common/footer'); exit; }
function CheckUsername() { $username=trim($this->Post['username'] ? $this->Post['username'] : $this->Post['check_value']); if (strlen($username) < 3 || strlen($username) > 15) { response_text(__("用户名长度请控制在3~15")); } if (($filter_msg = filter($username))) { response_text("用户名 ".$filter_msg); } if (preg_match('~[\~\`\!\@\#\$\%\^\&\*\(\)\=\+\[\{\]\}\;\:\'\"\,\<\.\>\/\?]~',$username)) { response_text(__("用户名不能包含特殊字符")); } $censoruser = ConfigHandler::get('user','forbid'); $censoruser .= "topic login member profile tag get_password report weather master url"; $censorexp = '/^('.str_replace(array('\\*', "\r\n", ' '), array('.*', '|', ''), preg_quote(($censoruser = trim($censoruser)), '/')).')$/i'; if($censoruser && @preg_match($censorexp, $username)) { response_text(sprintf(__("用户名<b>%s</b>被保留,禁止注册"), $username)); } $response= "对不起,您输入的用户名 <B>{$username}</B> 不能注册或已经被他人使用,请选择其他名字后再试。"; $this->DatabaseHandler->SetTable(TABLE_PREFIX. 'system_members'); $is_exists=$this->DatabaseHandler->Select('',"username='******'"); if($is_exists) { response_text($response); } if(true === UCENTER) { include_once(UC_CLIENT_ROOT . './client.php'); $uc_result = uc_user_checkname($username); if($uc_result < 0) { response_text($response); } } exit ; }
static function user_checkname($username) { global $kekezu; if ($kekezu->_sys_config['user_intergration'] == 1) { $member_obj = new Keke_witkey_member_class(); $member_obj->setWhere('username="******"'); $res = $member_obj->count_keke_witkey_member(); $res = $res ? 0 : 1; } elseif ($kekezu->_sys_config['user_intergration'] == 2) { require_once S_ROOT . '/uc_client/client.php'; $res = uc_user_checkname($username); } return $res; }
static function checkName($username) { $checkname = uc_user_checkname(); if ($checkname > 0) { return TRUE; } else { self::$lastAction = 'checkname'; self::$lastErrorCode = $checkname; return FALSE; } }
/** * uc登陆或者注册。返回数组 * $result['user'] 用户信息。用于ts系统使用 * $result['login'] 同步登陆是否成功 * @param unknown_type $username * @param unknown_type $password */ public function ucLogin($username, $password) { if (isValidEmail($username)) { $user = service('Passport')->getLocalUser($username, $password); if (UC_SYNC && $user['uid']) { $uc_user_ref = ts_get_ucenter_user_ref($user['uid']); if ($uc_user_ref['uc_uid']) { $uc_user = uc_user_login($uc_user_ref['uc_uid'], $password, 1); if ($uc_user[0] == -1 || $uc_user[0] == -2) { $uc_user_ref = array(); } } else { if ($user['uname']) { $res_checkname = uc_user_checkname($user['uname']); if ($res_checkname >= -3 && $res_checkname <= -1) { $error_param = L('username'); } $res_checkemail = uc_user_checkemail($username); if ($res_checkemail >= -6 && $res_checkemail <= -4) { $error_param = $error_param ? $error_param . L('and_email') : 'Email'; } if ($error_param) { $message_data['title'] = L('sync_ucenter') . $error_param . L('sign_in_failed'); $message_data['content'] = L('you_of_site') . $error_param . L('ucenter_sign_in_failed') . $error_param . L('ucenter_clash') . U('home/Account/security') . L('ucenter_reset') . $error_param . '。'; $message_data['to'] = $user['uid']; model('Message')->postMessage($message_data, M('user')->getField('uid', 'admin_level=1')); } else { $uc_uid = uc_user_register($user['uname'], $password, $username); ts_add_ucenter_user_ref($user['uid'], $uc_uid, $user['uname']); $uc_user[0] = $uc_uid; } } } } } else { if (UC_SYNC) { $uc_user = uc_user_login($username, $password); if ($uc_user[0] > 0) { $uc_user_ref = ts_get_ucenter_user_ref('', $uc_user[0]); if (!$uc_user_ref) { // 注册 if ($this->isValidEmail($uc_user['3']) && $this->isEmailAvailable($uc_user['3'])) { $user['email'] = $uc_user['3']; } else { $message_data['title'] = L('ucenter_sync_email_clash'); $message_data['content'] = L('ucenter_email_used') . U('home/Account/bind') . L('ucenter_reset_email'); } if (isLegalUsername($uc_user['1']) && !M('user')->where("uname='{$uc_user['1']}'")->count()) { $user['uname'] = $uc_user['1']; } $user['password'] = md5($uc_user['2']); $user['ctime'] = time(); $user['is_active'] = 1; $user['uid'] = M('user')->add($user); if ($user['uid']) { $reg_from_ucenter = 1; ts_add_ucenter_user_ref($user['uid'], $uc_user['0'], $uc_user['1']); // 将用户添加到myop_userlog,以使漫游应用能获取到用户信息 $userlog = array('uid' => $user['uid'], 'action' => 'add', 'type' => '0', 'dateline' => time()); M('myop_userlog')->add($userlog); if (isset($message_data) && !empty($message_data)) { $message_data['to'] = $user['uid']; model('Message')->postMessage($message_data, M('user')->getField('uid', 'admin_level=1')); } //关联操作 //$this->registerRelation($user['uid']); } else { $user = array(); } } else { if ($username != $uc_user_ref['uc_username']) { ts_update_ucenter_user_ref('', $uc_user_ref['uc_uid'], $username); } $user = M('user')->where("uid={$uc_user_ref['uid']}")->find(); if (md5($password) != $user['password']) { M('user')->where("uid={$uc_user_ref['uid']}")->setField('password', md5($password)); } } } } else { $uc_user_ref = ts_get_ucenter_user_ref('', '', $username); if ($uc_user_ref['uid']) { $user = service('Passport')->getLocalUser($uc_user_ref['uid'], $password); } } } $result['login'] = ''; if ($user) { $result['login'] = UC_SYNC && $uc_user[0] ? uc_user_synlogin($uc_user[0]) : ''; } $result['user'] = $user; $result['reg_from_ucenter'] = $reg_from_ucenter; return $result; }
function checkname(&$msg, $username, $type) { $uid = uc_user_checkname($username); if ($uid <= 0) { if ($uid == -1) { $msg = "用户名不合法"; } elseif ($uid == -2 || $uid == -3) { if ($type > 0) { $msg = $uid == -3 ? "用户名已经存在" : "包含不允许注册的词语"; } elseif ($type == 0) { $msg = "OK"; } } } else { if ($type > 0) { $msg = "OK"; } elseif ($type == 0) { $msg = "用户名不存在"; } } }
show_message('login_succeed', $url); } if (check_submit($_POST['registsubmit'], $_POST['formhash'])) { $cyask_user = trim($_POST['username']); $cyask_user = strtolower($cyask_user); $password = trim($_POST['password']); $email = $_POST['email']; $username_ok = filters_username($cyask_user); if (!$username_ok) { show_message('regist_name_error', ''); } $email_ok = uc_user_checkemail($email); if (!$email_ok) { show_message('regist_email_error' . abs($email_ok), ''); } $usernum = uc_user_checkname($cyask_user); if ($usernum != 1) { show_message('regist_name_used', ''); } else { $password = trim($_POST['password']); $cyask_uid = uc_user_register($cyask_user, $password, $email); if ($cyask_uid > 0) { $dblink->query("INSERT INTO {$dbprefix}members(uid,username,email,adminid,groupid) VALUES('{$cyask_uid}','{$cyask_user}','{$email}','5','0')"); list($cyask_uid, $username, $passwd, $email) = uc_user_login($cyask_user, $password); uc_dsetcookie('auth', uc_authcode($cyask_uid . "\t" . $username . "\t" . $email, 'ENCODE'), 86400 * 365); $syninfo = uc_user_synlogin($cyask_uid); show_message('regist_succeed', $url); } else { show_message('regist_error', ''); } }
function registration_errors($errors, $user_login, $user_email) { if (uc_user_checkname($user_login) < 0) { $errors->add('username_exists', __('<strong>ERROR</strong>: This username is already registered, please choose another one.', 'ucenter')); } if (uc_user_checkemail($user_email) < 0) { $errors->add('email_exists', __('<strong>ERROR</strong>: This email is already registered, please choose another one.', 'ucenter')); } return $errors; }
function uc_user_register($username, $password, $email, $nickname, $questionid = '', $answer = '', $regip = '', $addorg = 1) { if ($nickname && ($status = uc_user_checkname($nickname)) < 0) { return $status; } if (($status = uc_user_checkusername($username)) < 0) { return $status; } if (($status = uc_user_checkemail($email)) < 0) { return $status; } $uid = uc_add_user($username, $password, $email, $nickname, 0, $questionid, $answer, $regip); //加入默认机构 if ($addorg && is_array($uid) && getglobal('setting/defaultdepartment') && DB::fetch_first("select orgid from %t where orgid=%d ", array('organization', getglobal('setting/defaultdepartment')))) { C::t('organization_user')->insert($uid['uid'], getglobal('setting/defaultdepartment')); } return $uid; }
/** * 检查用户名 * @param string $username 用户名 * @return int {-4:用户名禁止注册;-1:用户名已经存在 ;1:成功} */ public function checkname($is_return=0) { if(empty($this->username)) { if ($is_return) { return -1; } else { exit('-1'); } } //非法关键词判断 $denyusername = $this->settings['denyusername']; if(is_array($denyusername)) { $denyusername = implode("|", $denyusername); $pattern = '/^('.str_replace(array('\\*', ' ', "\|"), array('.*', '', '|'), preg_quote($denyusername, '/')).')$/i'; if(preg_match($pattern, $this->username)) { if ($is_return) { return -4; } else { exit('-4'); } } } //UCenter部分 if ($this->config['ucuse']) { pc_base::load_config('uc_config'); require_once PHPCMS_PATH.'api/uc_client/client.php'; $rs= uc_user_checkname($this->username); if ($rs < 1) { exit('-4'); } } $r = $this->db->get_one(array('username'=>$this->username)); if ($is_return) { return !empty($r) ? -1 : 1; } else { echo !empty($r) ? -1 : 1; exit; } }
* $Id: forum_ajax.php 33772 2013-08-12 06:49:20Z nemohou $ */ if (!defined('IN_DISCUZ')) { exit('Access Denied'); } define('NOROBOT', TRUE); if ($_GET['action'] == 'checkusername') { $username = trim($_GET['username']); $usernamelen = dstrlen($username); if ($usernamelen < 3) { showmessage('profile_username_tooshort', '', array(), array('handle' => false)); } elseif ($usernamelen > 15) { showmessage('profile_username_toolong', '', array(), array('handle' => false)); } loaducenter(); $ucresult = uc_user_checkname($username); if ($ucresult == -1) { showmessage('profile_username_illegal', '', array(), array('handle' => false)); } elseif ($ucresult == -2) { showmessage('profile_username_protect', '', array(), array('handle' => false)); } elseif ($ucresult == -3) { if (C::t('common_member')->fetch_by_username($username) || C::t('common_member_archive')->fetch_by_username($username)) { showmessage('register_check_found', '', array(), array('handle' => false)); } else { showmessage('register_activation', '', array(), array('handle' => false)); } } $censorexp = '/^(' . str_replace(array('\\*', "\r\n", ' '), array('.*', '|', ''), preg_quote($_G['setting']['censoruser'] = trim($_G['setting']['censoruser']), '/')) . ')$/i'; if ($_G['setting']['censoruser'] && @preg_match($censorexp, $username)) { showmessage('profile_username_protect', '', array(), array('handle' => false)); }
function checkuname($uname, $ckhas = true) { //if(!preg_match("/^[a-zA-Z0-9_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]+$/", $uname)) //{ // return '用户名格式错误'; //} if (50 <= strlen($uname) || strlen($uname) < 3) { return lang('userlength_error'); } if (is_numeric($uname)) { return lang('notuse_user_purenumbers'); } if ($ckhas) { #api{{ if (defined('UC_API') && @(include_once ROOT_PATH . '/uc_client/client.php')) { $ucresult = uc_user_checkname($uname); if ($ucresult > 0) { return 'OK'; } elseif ($ucresult == -1) { return lang('User_notvalid'); } elseif ($ucresult == -2) { return lang('Contains_rege_words'); } elseif ($ucresult == -3) { return lang('username_been_exist'); } } else { #/aip}} $row = $this->db->fetch_first("Select * From `{$this->table}` where uname like '{$uname}' "); if (is_array($row)) { return lang('user_already_exists'); } } } return 'OK'; }
function king_ajax_register() { global $king; if ($king->config('isregister', 'user') == 0) { kc_ajax($king->lang->get('user/title/regstop'), $king->config('registertip', 'user'), 0, '', 500, 200); } if (!kc_post('is')) { $s = $king->config('reglicense', 'user'); $but = kc_htm_a($king->lang->get('portal/user/iaccept'), '{URL:\'' . $king->config('inst') . 'user/index.php\',CMD:\'register\',METHOD:\'GET\',is:1,IS:1}'); $but .= "<a href=\"javascript:;\" class=\"k_close\">" . $king->lang->get('system/common/cancel') . "</a>"; $height = 400; $title = $king->lang->get('portal/title/reglicense'); $GLOBALS['ischeck'] = false; } else { /* if($GLOBALS['ismethod']){//POST过程 $data=$_POST; } */ $data = kc_data(array('username', 'userpass', 'usermail')); if ($king->config('blackuser', 'user')) { $array_black = explode('|', $king->config('blackuser', 'user')); $array_black = array_diff($array_black, array(null)); } else { $array_black = array(); } //username $_array = array(array('username', 0, 3, 15), array('username', 14, $king->lang->get('portal/check/reg/u-1'), array('*', '\\', ':', '?', '<', '>', '|', ';', ',', '\'', '!', '~', '$', '#', '@', '^', '(', ')', '{', '}', '=', '+', '%', '/')), array('username', 14, $king->lang->get('portal/check/reg/u-2'), $array_black), array('username', 12, $king->lang->get('portal/check/reg/u-3'), $king->db->getRows_one("select userid from %s_user where username='******'username')) . "';"))); if ($king->user->isuc && $GLOBALS['ismethod']) { //有提交操作的时候才做验证 $ucheck = uc_user_checkname(kc_post('username')); $_array[] = array('username', 12, $king->lang->get('system/check/reg/u' . $ucheck), $ucheck != 1); } $s = $king->htmForm($king->lang->get('portal/user/name') . ' (3-15)', '<input class="k_in w150" type="text" name="username" value="' . htmlspecialchars(kc_post('username')) . '" maxlength="15" />', $_array); //pass $_array = array(array('userpass', 0, 6, 30), array('userpass', 17, null, 'userpass1')); $s .= $king->htmForm($king->lang->get('portal/user/pass') . ' (6-30)', '<input class="k_in w150" type="password" name="userpass" maxlength="30" />', $_array); //repass $s .= $king->htmForm($king->lang->get('portal/user/pass1'), '<input class="k_in w150" type="password" name="userpass1" maxlength="30" />'); //mail $_array = array(array('usermail', 0, 6, 32), array('usermail', 5, $king->lang->get('portal/check/reg/u-4')), array('usermail', 14, $king->lang->get('portal/check/reg/u-2'), $array_black), array('usermail', 12, $king->lang->get('portal/check/reg/u-6'), $king->db->getRows_one("select userid from %s_user where usermail='" . $king->db->escape(kc_post('usermail')) . "';"))); if ($king->user->isuc && $GLOBALS['ismethod']) { //有提交操作的时候才做验证 $ucheck = uc_user_checkemail(kc_post('usermail')); $_array[] = array('usermail', 12, $king->lang->get('system/check/reg/u' . $ucheck), $ucheck != 1); } $s .= $king->htmForm($king->lang->get('portal/user/mail'), '<input class="k_in w250" type="text" name="usermail" value="' . htmlspecialchars($data['usermail']) . '" maxlength="32" />', $_array); //verify $verify = new KC_Verify_class(); $s .= $verify->Show(); $but = kc_htm_a($king->lang->get('portal/user/register'), '{URL:\'' . $king->config('inst') . 'user/index.php\',CMD:\'register\',is:1,IS:1}'); $height = $king->config('verifyopen') ? 210 + $king->config('verifyheight') : 200; $title = $king->lang->get('user/title/reguser'); } if ($GLOBALS['ischeck']) { //先提交到ucenter后再提交到本地数据库 if ($king->user->isuc) { $uid = uc_user_register($data['username'], $data['userpass'], $data['usermail']); if ($uid < 0) { error($king->lang->get('portal/check/reg/u' . $uid)); } if ($uid == 0) { error($king->lang->get('portal/error/connect')); } //发出连接错误 } else { $uid = 0; //没有UC的时候,uid设置为0,这样以后同步帐号仅同步uid=0的帐号$king->db->neworder('%s_user',null,'uid');//若没有UC链接的时候uid自动递增 } $array_sql = array('username', 'usermail'); $array = array(); foreach ($array_sql as $val) { $array[$val] = $data[$val]; } $salt = kc_random(6); $md5pass = md5($salt . $data['userpass']); $array['userpass'] = $md5pass; $array['uid'] = $uid; $array['ksalt'] = $salt; $array['regdate'] = time(); $userid = $king->db->insert('%s_user', $array); //写Cookie $s = $king->user->userLogin($userid, 2592000); kc_ajax($king->lang->get('system/common/welcome'), $s . "<p class=\"k_ok\">" . $king->lang->get('portal/user/regok') . "</p>", 1); } kc_ajax($title, $s, $but, '', 500, $height + $GLOBALS['check_num'] * 15); }
adminmsg('两次输入的密码不相同!', 1); } $sql['utype'] = !empty($_POST['member_type']) ? intval($_POST['member_type']) : adminmsg('你没有选择注册类型!', 1); if (empty($_POST['email']) || !preg_match("/^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*\$/", $_POST['email'])) { adminmsg('电子邮箱格式错误!', 1); } $sql['email'] = trim($_POST['email']); if (get_user_inusername($sql['username'])) { adminmsg('该用户名已经被使用!', 1); } if (get_user_inemail($sql['email'])) { adminmsg('该 Email 已经被注册!', 1); } if (defined('UC_API')) { include_once QISHI_ROOT_PATH . 'uc_client/client.php'; if (uc_user_checkname($sql['username']) != "1") { adminmsg('该用户名已经被使用或者用户名非法!', 1); exit; } elseif (uc_user_checkemail($sql['email']) != "1") { adminmsg('该 Email已经被使用或者非法!', 1); exit; } else { uc_user_register($sql['username'], $sql['password'], $sql['email']); } } $sql['pwd_hash'] = randstr(); $sql['password'] = md5(md5($sql['password']) . $sql['pwd_hash'] . $QS_pwdhash); $sql['reg_time'] = time(); $sql['reg_ip'] = $online_ip; $insert_id = inserttable(table('members'), $sql, true); if ($sql['utype'] == "1") {
function register() { if (isset($_POST)) { $_POST = setHtmlspecialchars(setFormString($_POST)); } if ($this->check_login()) { header('location:' . u('index/index')); } //引入配置文件、类库 $this->require_uc(); if (isset($_POST['dosubmit'])) { if ($this->setting['ucenterlogin']) { //检查UCENTER中是否有此用户 $ucresult = uc_user_checkname(trim($_POST['name'])); if ($ucresult == -1) { $this->assign('err', array('err' => 0, 'msg' => '用户名不合法!')); } elseif ($ucresult == -2) { $this->assign('err', array('err' => 0, 'msg' => '包含要允许注册的词语!')); } elseif ($ucresult == -3) { $this->assign('err', array('err' => 0, 'msg' => '用户名已经存在!')); } } $data = $this->user_mod->create(); $this->assign('data', $data); $flag = true; if ($_SESSION['verify'] == md5(trim($_POST['verify']))) { if ($this->user_mod->where("name='" . trim($data['name']) . "'")->count()) { $this->assign('err', array('err' => 0, 'msg' => '昵称已存在!')); $flag = false; } else { if (strlen(trim($data['email'])) > 0) { if ($this->user_mod->where("email='" . trim($data['email']) . "'")->count()) { $this->assign('err', array('err' => 0, 'msg' => '邮箱已经存在!')); $flag = false; } } } } else { $this->assign('err', array('err' => 0, 'msg' => '验证码不正确!')); $flag = false; } if ($flag) { if ($this->setting['ucenterlogin']) { $uid = uc_user_register($_POST['name'], $_POST['passwd'], $_POST['email']); } $data['ip'] = $_SERVER['REMOTE_ADDR']; $data['add_time'] = time(); $data['passwd'] = md5(trim($data['passwd'])); $data['user_info']['sex'] = $_POST['sex']; $data['user_info']['integral'] = $this->setting['user_register_score']; if ($this->setting['ucenterlogin']) { if ($uid <= 0) { if ($uid == -1) { $this->assign('err', array('err' => 0, 'msg' => '用户名不合法!')); } elseif ($uid == -2) { $this->assign('err', array('err' => 0, 'msg' => '包含要允许注册的词语!')); } elseif ($uid == -3) { $this->assign('err', array('err' => 0, 'msg' => '用户名已经存在!')); } elseif ($uid == -4) { $this->assign('err', array('err' => 0, 'msg' => 'Email 格式有误!')); } elseif ($uid == -5) { $this->assign('err', array('err' => 0, 'msg' => 'Email 不允许注册')); } elseif ($uid == -6) { $this->assign('err', array('err' => 0, 'msg' => '该 Email 已经被注册')); } else { $this->assign('err', array('err' => 0, 'msg' => '未定义')); } } else { $id = $this->user_mod->relation('user_info')->add($data); //用户登陆成功,设置 Cookie,加密直接用 uc_authcode 函数,用户使用自己的函数 setcookie('Ucenter_auth', uc_authcode($uid . "\t" . $data['name'], 'ENCODE')); } } else { $id = $this->user_mod->relation('user_info')->add($data); } //$_SESSION['user_id']=$id; //注册以后同步dengl /* 发送站内信 array(to_user,form_user,title,content,date) 注册短信:尊敬的[name]您好:欢迎注册[WEBTITLE],凡是通过[WEBTITLE]提供的链接去淘宝购物进行购物, 都将享受到1%到50%成交额的返现,推广其他用户,即可获取被推广用户返现额的[tg]%的推广佣金, 推广越多挣钱越轻松。祝您购物愉快!也欢迎您把我们的网站告诉更多的淘宝买家,谢谢! 注册送积分:恭喜您,您获得本站注册赠送积分[ZSJIFEN]。 */ $patterns[0] = "/\\[name\\]/"; $patterns[1] = "/\\[WEBTITLE\\]/"; $patterns[2] = "/\\[tg\\]/"; $replacements[2] = $data['name']; $replacements[1] = $this->setting['site_name']; $replacements[0] = $this->setting["cashback_rate"]; $map['key'] = 'msg_zhuce'; $msgtitle = "用户注册短信"; $fromUser = getAdminUserName(); $content = M("user_setmsg")->where($map)->find(); $msgcontent = preg_replace($patterns, $replacements, $content); $sendmsg = array("to_user" => "{$data['name']}", "from_user" => "{$fromUser}", "title" => "{$msgtitle}", "content" => "{$msgcontent['val']}", "date" => time()); parent::sendMsg($sendmsg); //送积分 $map['key'] = 'msg_zsjifen'; $msgtitle = "赠送积分短信"; $jifen = M('setting')->where("name='user_register_score'")->find(); $content = M("user_setmsg")->where($map)->find(); $msgcontent = str_replace("[ZSJIFEN]", $jifen['data'], $content); $sendmsg = array("to_user" => "{$data['name']}", "from_user" => "{$fromUser}", "title" => "{$msgtitle}", "content" => "{$msgcontent['val']}", "date" => time()); parent::sendMsg($sendmsg); // $last_time=$data['add_time']; // $key=md5($id.$data['name'].$last_time); // cookie('user[id]',$id); // cookie('user[name]',$data['name']); // cookie('user[login_time]',$last_time); // cookie('user[key]',$key); // //设置本程序cookie $last_time = time(); $key = md5($id . $data['name'] . $last_time); cookie('user[id]', $id, 3600 * 24 * 7); cookie('user[name]', $data['name'], 3600 * 24 * 7); cookie('user[login_time]', $last_time, 3600 * 24 * 7); cookie('user[key]', $key, 3600 * 24 * 7); // if($this->setting['ucenterlogin']){ // echo $ucsynlogin = uc_user_synlogin($uid); //生成同步登录的代码 // } //如果购买商品的时候跳转过来的则跳转回购买商品页面 if (isset($_GET['item_id']) && intval($_GET['item_id']) != '') { $item_id = intval($_GET['item_id']); header('location:' . u('item/index', array('id' => $item_id))); } else { header('location:' . u('uc/index')); } } } $this->display(); }
<?php /* [CYASK] (C)2007 Cyask.com QQ: 240508015 Revision: 3.0.0 for Discuz Date: 2007/4/23 */ define('CURSCRIPT', 'checkuser'); require './include/common.inc.php'; $username = trim($_GET['username']); $email = trim($_GET['email']); if (!empty($username) || !empty($email)) { if (!empty($username)) { $usernum = uc_user_checkname($username); if ($usernum == 1) { $text = 'yes'; } elseif ($usernum == -3) { $text = 'no'; } else { $text = 'error'; } } elseif (!empty($email)) { $text = uc_user_checkemail($email); } } else { $text = 'error'; } echo $text;
function doregister() { extract($_POST); //用户名需过滤的字符的正则 $stripChar = '?<*.>\''; if ($_SESSION['_verify_']['verify'] != strtolower($verify)) { $this->error("验证码错误!"); } else { if (preg_match('/[' . $stripChar . ']/is', $name) == 1) { $this->error('用户名中包含' . $stripChar . '等非法字符!'); } else { if ($pass != $repass) { $this->error("两次密码输入不一致!"); } else { if (strlen($pass) < 5 || strlen($pass) > 12) { $this->error("密码长度至少5位,最多12位!"); } else { if (ereg("/^[a-z]([a-z0-9]*[-_\\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\\.][a-z]{2,3}([\\.][a-z]{2})?\$/i;", $email)) { $this->error("邮箱格式不正确!"); } else { $where['user_login_name'] = $name; $where['user_email'] = $email; $where['_logic'] = 'OR'; $ucenter_syn = C("UCENTER_ENABLED"); $uc_checkemail = 1; $uc_checkusername = 1; if ($ucenter_syn) { include UC_CLIENT_ROOT . "client.php"; $uc_checkemail = uc_user_checkemail($email); $uc_checkusername = uc_user_checkname($name); } $result = M('Members')->where($where)->count(); if ($result || $uc_checkemail < 0 || $uc_checkusername < 0) { $this->error("用户名或者该邮箱已经存在!"); } else { $uc_register = true; if ($ucenter_syn) { $uc_uid = uc_user_register($name, $pass, $email); //exit($uc_uid); if ($uc_uid < 0) { $uc_register = false; } } if ($uc_register) { $data = array('user_login_name' => $name, 'user_email' => $email, 'user_pass' => sp_password($pass), 'last_login_ip' => get_client_ip(), 'create_time' => time(), 'last_login_time' => time(), 'user_status' => '2'); $rst = M('Members')->add($data); //登入成功页面跳转 $_SESSION["MEMBER_type"] = 'local'; $_SESSION["MEMBER_id"] = $rst; $_SESSION['MEMBER_name'] = $name; $_SESSION['MEMBER_status'] = '2'; //发送激活邮件 self::_send_to_active(); $this->success("注册成功!", U("Member/center/index")); } else { $this->error("注册失败!", U("Member/index/register")); } } } } } } } }
private function _do_email_register() { if (!sp_check_verify_code()) { $this->error("验证码错误!"); } $rules = array(array('user_type', 'require', '请选择用户类型!', 1), array('email', 'require', '邮箱不能为空!', 1), array('password', 'require', '密码不能为空!', 1), array('repassword', 'require', '重复密码不能为空!', 1), array('repassword', 'password', '确认密码不正确', 0, 'confirm'), array('email', 'email', '邮箱格式不正确!', 1)); $users_model = M("Users"); if ($users_model->validate($rules)->create() === false) { $this->error($users_model->getError()); } $password = $_POST['password']; $email = $_POST['email']; $user_type = $_POST['user_type']; $username = str_replace(array(".", "@"), "_", $email); //用户名需过滤的字符的正则 $stripChar = '?<*.>\'"'; if (preg_match('/[' . $stripChar . ']/is', $username) == 1) { $this->error('用户名中包含' . $stripChar . '等非法字符!'); } // $banned_usernames=explode(",", sp_get_cmf_settings("banned_usernames")); // if(in_array($username, $banned_usernames)){ // $this->error("此用户名禁止使用!"); // } if (strlen($password) < 5 || strlen($password) > 20) { $this->error("密码长度至少5位,最多20位!"); } if ($user_type > 3 || $user_type < 1) { $this->error("非法操作!"); } $where['user_login'] = $username; $where['user_email'] = $email; $where['_logic'] = 'OR'; $ucenter_syn = C("UCENTER_ENABLED"); $uc_checkemail = 1; $uc_checkusername = 1; if ($ucenter_syn) { include UC_CLIENT_ROOT . "client.php"; $uc_checkemail = uc_user_checkemail($email); $uc_checkusername = uc_user_checkname($username); } $users_model = M("Users"); $result = $users_model->where($where)->count(); if ($result || $uc_checkemail < 0 || $uc_checkusername < 0) { $this->error("用户名或者该邮箱已经存在!"); } else { $uc_register = true; if ($ucenter_syn) { $uc_uid = uc_user_register($username, $password, $email); //exit($uc_uid); if ($uc_uid < 0) { $uc_register = false; } } if ($uc_register) { $need_email_active = C("SP_MEMBER_EMAIL_ACTIVE"); $data = array('user_login' => $username, 'user_email' => $email, 'user_nicename' => $username, 'user_pass' => sp_password($password), 'last_login_ip' => get_client_ip(0, true), 'create_time' => date("Y-m-d H:i:s"), 'last_login_time' => date("Y-m-d H:i:s"), 'user_status' => $need_email_active ? 2 : 1, "user_type" => $user_type); $rst = $users_model->add($data); if ($rst) { //登入成功页面跳转 $data['id'] = $rst; $_SESSION['user'] = $data; //发送激活邮件 if ($need_email_active) { $this->_send_to_active(); unset($_SESSION['user']); $this->success("注册成功,激活后才能使用!", U("user/login/index")); } else { $this->success("注册成功!", __ROOT__ . "/"); } } else { $this->error("注册失败!", U("user/register/index")); } } else { $this->error("注册失败!", U("user/register/index")); } } }
/** * 检查用户名 * @param type $username 用户名 * @return int 1:成功 * -1:用户名不合法 * -2:包含要允许注册的词语 * -3:用户名已经存在 */ public function user_checkname($username) { $guestexp = '\\xA1\\xA1|\\xAC\\xA3|^Guest|^\\xD3\\xCE\\xBF\\xCD|\\xB9\\x43\\xAB\\xC8'; if (!preg_match("/\\s+|^c:\\con\\con|[%,\\*\"\\s\\<\\>\\&]|{$guestexp}/is", $username)) { if ($this->UCenter) { return uc_user_checkname($username); } else { $find = M("Member")->where(array("username" => $username))->find(); if ($find) { return -3; } return 1; } } return -1; }