public function save() { //注册开关 if (User_Reg == 0) { msg_url(L('reg_35'), Web_Path); } $userinfo = array(); $token = $this->input->post('token', TRUE); if ($token != $_SESSION['token']) { msg_url(L('reg_02'), 'javascript:history.back();'); } //判断验证码开关 if (User_Code_Mode == 1) { $codes = str_checkhtml($this->input->post('usercode', TRUE)); if (empty($codes) || $this->cookie->get_cookie('codes') != strtolower($codes)) { msg_url(L('reg_03'), 'javascript:history.back();'); } } $userinfo['code'] = random_string('alnum', 6); $userinfo['name'] = $this->input->post('username', TRUE, TRUE); $userinfo['pass'] = $this->input->post('userpass', TRUE, TRUE); $userinfo['nichen'] = $this->input->post('usernichen', TRUE); $userinfo['email'] = $this->input->post('useremail', TRUE, TRUE); $userinfo['tel'] = $this->input->post('usertel', TRUE, TRUE); $userinfo['regip'] = getip(); $userinfo['cion'] = User_Cion_Reg; $userinfo['jinyan'] = User_Jinyan_Reg; $userinfo['addtime'] = time(); $userinfo['yid'] = 0; if ($userinfo['nichen'] == "0") { $userinfo['nichen'] = ''; } if (!is_username($userinfo['name'])) { msg_url(L('reg_04'), 'javascript:history.back();'); } if (!is_userpass($userinfo['pass'])) { msg_url(L('reg_05'), 'javascript:history.back();'); } if (!empty($userinfo['nichen']) && !is_username($userinfo['nichen'], 1)) { msg_url(L('reg_06'), 'javascript:history.back();'); } if (!is_email($userinfo['email'])) { msg_url(L('reg_07'), 'javascript:history.back();'); } //判断保留用户名 $ymext = explode('|', Home_Ymext); if (in_array($userinfo['name'], $ymext)) { msg_url(L('reg_08'), 'javascript:history.back();'); } //判断同一IP注册时间限制 if (User_RegIP > 0) { $row = $this->db->query("SELECT addtime FROM " . CS_SqlPrefix . "user where regip='" . $userinfo['regip'] . "' order by id desc")->row(); if ($row && $row->addtime + 3600 * User_RegIP > time()) { msg_url(L('reg_09'), 'javascript:history.back();'); } } //判断用户名是否注册 $username = $this->CsdjDB->get_row('user', 'id', $userinfo['name'], 'name'); if ($username) { msg_url(L('reg_10'), 'javascript:history.back();'); } //判断邮箱是否注册 $useremail = $this->CsdjDB->get_row('user', 'id', $userinfo['email'], 'email'); if ($useremail) { msg_url(L('reg_11'), 'javascript:history.back();'); } //下面选填字段 $userinfo['qq'] = $this->input->post('userqq', TRUE); $userinfo['sex'] = intval($this->input->post('usersex', TRUE)); $userinfo['city'] = $this->input->post('usercity', TRUE); $userinfo['skins'] = Home_Skins; $userinfo['qianm'] = ''; if (!empty($userinfo['tel'])) { if (!is_tel($userinfo['tel'])) { msg_url(L('reg_12'), 'javascript:history.back();'); } //判断手机号码是否注册 $usertel = $this->CsdjDB->get_row('user', 'id', $userinfo['tel'], 'tel'); if ($usertel) { msg_url(L('reg_13'), 'javascript:history.back();'); } } //判断手机强制验证 if (User_Tel == 1) { if (empty($userinfo['tel'])) { msg_url(L('reg_12'), 'javascript:history.back();'); } $telcode = intval($this->input->post('telcode', TRUE)); if ($telcode == 0 || $telcode != $_SESSION['tel_code']) { msg_url(L('reg_14'), 'javascript:history.back();'); } } //是否需要人工验证 if (User_RegFun == 1) { $userinfo['yid'] = 1; $title = L('reg_15'); } //是否需要邮件验证 if (User_RegEmailFun == 1) { $userinfo['yid'] = 2; $title = L('reg_16', array($userinfo['email'])); } //--------------------------- Ucenter --------------------------- if (User_Uc_Mode == 1) { include CSCMS . 'lib/Cs_Ucenter.php'; include CSCMSPATH . 'uc_client/client.php'; $uid = uc_user_register($userinfo['name'], $userinfo['pass'], $userinfo['email']); if ($uid > 0) { $userinfo['uid'] = $uid; } } //--------------------------- Ucenter End --------------------------- //密码加密 $userinfo['pass'] = md5(md5($userinfo['pass']) . $userinfo['code']); $regid = $this->CsdjDB->get_insert('user', $userinfo); if (intval($regid) == 0) { msg_url(L('reg_17'), 'javascript:history.back();'); } //摧毁token unset($_SESSION['token']); $this->load->model('CsdjEmail'); if (User_RegEmailFun == 1) { //发送激活邮件 $key = md5($regid . $userinfo['name'] . $userinfo['pass'] . $userinfo['yid']); $Msgs['username'] = $userinfo['name']; $Msgs['url'] = userurl(site_url('user/reg/verify')) . "?key=" . $key . "&username="******"user_id", $regid, time() + 86400); $this->cookie->set_cookie("user_login", $user_login, time() + 86400); msg_url(L('reg_21'), userurl(site_url('user/space')), 'ok'); } else { msg_url(L('reg_21') . $title . '~!', userurl(site_url('user/login')), 'ok'); } }
public function pass_save() { $token = $this->input->post('token', TRUE); if ($token != $_SESSION['token']) { msg_url(L('edit_02'), 'javascript:history.back();'); } $pass = $this->input->post('userpass', TRUE, TRUE); $pass1 = $this->input->post('userpass1', TRUE, TRUE); $pass2 = $this->input->post('userpass2', TRUE, TRUE); if (empty($pass)) { msg_url(L('edit_13'), 'javascript:history.back();'); } if (empty($pass1) || !is_userpass($pass1)) { msg_url(L('edit_14'), 'javascript:history.back();'); } if ($pass1 != $pass2) { msg_url(L('edit_15'), 'javascript:history.back();'); } //判断原密码 $row = $this->db->query("select code,pass from " . CS_SqlPrefix . "user where id=" . $_SESSION['cscms__id'] . "")->row(); if ($row->pass != md5(md5($pass) . $row->code)) { msg_url(L('edit_16'), 'javascript:history.back();'); } //修改入库 $userinfo['code'] = random_string('alnum', 6); $userinfo['pass'] = md5(md5($pass1) . $userinfo['code']); $this->CsdjDB->get_update('user', $_SESSION['cscms__id'], $userinfo); msg_url(L('edit_17'), 'javascript:history.back();'); }