data['rootUrl'] = Doo::conf()->APP_URL; } public function clogin() { $this->data['message'] = ''; $this->render('common-login', $this->data); } public function alogin() { $this->render('admin-login', $this->data); } /** * 进入后台 */ function do_login() { $data ['name'] = $_POST['name']; $data ['password'] = $_POST['password']; Doo::loadModel('adminuser'); $users = new Adminuser(); $user = $users->getRowByUsername($data); if (!empty ( $user )) { $userinfo = $this->authcode ( $user ['username'], "tr" ); setcookie ( "auth_main", $userinfo, time () + 3600 * 12, "/", COOKIE_WEB_SITE ); return '/m/userlist'; // header ( 'Content-Type:text/html;charset=utf-8' ); // @header ( "Location: " . COOKIE_WEB_SITE . "/m/userlist" ); }else{ return '/m/login'; // header ( 'Content-Type:text/html;charset=utf-8' ); // @header ( "Location: " . COOKIE_WEB_SITE . "/m/login" ); } } /** * 后台登录 */ function admin_init(){ //是否已经登录纵横 $rs=array(); if (isset ( $_COOKIE ['auth_main'] )) { $userinfo=$this->authcode ($_COOKIE ['auth_main']); Doo::loadModel('adminuser'); $users = new Adminuser(); $this->userinfo=$users->getRowByuser($userinfo); }else{ setcookie ( "auth_main", "", time () + 3600 * 12, "/", COOKIE_WEB_SITE ); //无权限进入后台 header ( 'Content-Type:text/html;charset=utf-8' ); @header ( "Location: /m/login"); } if (!empty ( $this->userinfo )) { //跳转前台登录 $userinfo = $this->authcode ( $this->userinfo['username'], "tr" ); //header ( 'Content-Type:text/html;charset=utf-8' ); //@header ( "Location: /" ); setcookie ( "auth_main", $userinfo, time () + 3600 * 12, "/", COOKIE_WEB_SITE ); } else { setcookie ( "auth_main", "", time () + 3600 * 12, "/", COOKIE_WEB_SITE ); //无权限进入后台 header ( 'Content-Type:text/html;charset=utf-8' ); @header ( "Location: /m/login"); } } public function do_clogin() { if(!isset($_POST['name']) || empty($_POST['name'])){ $this->data['message'] = '帐号不能为空'; $this->render('common-login',$this->data);die; } if(!isset($_POST['password']) || empty($_POST['password'])){ $this->data['message'] = '密码不能为空'; $this->render('common-login',$this->data);die; } $data ['name'] = $_POST['name']; $data ['password'] = $_POST['password']; Doo::loadModel('commonuser'); $users = new Commonuser(); $user = $users->getRowByUsername($data); if (!empty ( $user )) { $userinfo = $this->authcode ( $user ['username'], "tr" ); setcookie ( "common_main", $userinfo, time () + 3600 * 12, "/", COOKIE_WEB_SITE ); header ( 'Content-Type:text/html;charset=utf-8' ); @header ( "Location: /common/classlist"); // return '/common/classlist'; }else{ $this->data['message'] = '账号或密码错误!'; $this->render('common-login',$this->data);die; } } /** * 查询登录 */ function common_init(){ if (isset ( $_COOKIE ['common_main'] )) { $userinfo=$this->authcode ($_COOKIE ['common_main']); Doo::loadModel('commonuser'); $users = new Commonuser(); $this->userinfo=$users->getRowByUser($userinfo); }else{ setcookie ( "common_main", "", time () + 3600 * 12, "/", COOKIE_WEB_SITE ); //无权限进入后台 header ( 'Content-Type:text/html;charset=utf-8' ); @header ( "Location: /common/login"); } if (!empty ( $this->userinfo )) { //跳转前台登录 $userinfo = $this->authcode ( $this->userinfo['username'], "tr" ); //header ( 'Content-Type:text/html;charset=utf-8' ); //@header ( "Location: /" ); setcookie ( "common_main", $userinfo, time () + 3600 * 12, "/", COOKIE_WEB_SITE ); return $this->userinfo['username']; } else { setcookie ( "common_main", "", time () + 3600 * 12, "/", COOKIE_WEB_SITE ); //无权限进入后台 header ( 'Content-Type:text/html;charset=utf-8' ); @header ( "Location: /common/login"); } } function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { $ckey_length = 4; if (! $key) { $key = "ZHKT"; } $key = md5 ( $key ); $keya = md5 ( substr ( $key, 0, 16 ) ); $keyb = md5 ( substr ( $key, 16, 16 ) ); $keyc = $ckey_length ? ($operation == 'DECODE' ? substr ( $string, 0, $ckey_length ) : substr ( md5 ( microtime () ), - $ckey_length )) : ''; $cryptkey = $keya . md5 ( $keya . $keyc ); $key_length = strlen ( $cryptkey ); $string = $operation == 'DECODE' ? base64_decode ( substr ( $string, $ckey_length ) ) : sprintf ( '%010d', $expiry ? $expiry + time () : 0 ) . substr ( md5 ( $string . $keyb ), 0, 16 ) . $string; $string_length = strlen ( $string ); $result = ''; $box = range ( 0, 255 ); $rndkey = array (); for($i = 0; $i <= 255; $i ++) { $rndkey [$i] = ord ( $cryptkey [$i % $key_length] ); } for($j = $i = 0; $i < 256; $i ++) { $j = ($j + $box [$i] + $rndkey [$i]) % 256; $tmp = $box [$i]; $box [$i] = $box [$j]; $box [$j] = $tmp; } for($a = $j = $i = 0; $i < $string_length; $i ++) { $a = ($a + 1) % 256; $j = ($j + $box [$a]) % 256; $tmp = $box [$a]; $box [$a] = $box [$j]; $box [$j] = $tmp; $result .= chr ( ord ( $string [$i] ) ^ ($box [($box [$a] + $box [$j]) % 256]) ); } if ($operation == 'DECODE') { if ((substr ( $result, 0, 10 ) == 0 || substr ( $result, 0, 10 ) - time () > 0) && substr ( $result, 10, 16 ) == substr ( md5 ( substr ( $result, 26 ) . $keyb ), 0, 16 )) { return substr ( $result, 26 ); } else { return ''; } } else { return $keyc . str_replace ( '=', '', base64_encode ( $result ) ); } } // 检测手机格式 function checkMobile($mobile) { if(preg_match("/^1[34578]{1}\d{9}$/",$mobile)){ return TRUE; } else { return FALSE; } } function checkMail($mail) { //if (preg_match("/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9\-\.])+/", $mail)) if (filter_var($mail, FILTER_VALIDATE_EMAIL)) return true; else return false; } } ?>