Example #1
0
 function login()
 {
     if (isset($_GET['dosubmit'])) {
         $username = trim($this->input->post('username'));
         $password = trim($this->input->post('password'));
         $code = trim($this->input->post('code'));
         $login_url = $this->admin_url . 'main_index/index/login';
         $this->load->model('a_system_model');
         $r = $this->a_system_model->get_one(array('username' => $username, 'sts' => 0), $this->tb_admini);
         //if ($this->session->userdata('adlogin_verifycode') != strtolower($code)) {//判断验证码
         //$this->showmessage('error',lang('com_verifycode_error'),$login_url);
         //}
         if (!$r) {
             $this->showmessage('goback', lang('password_error'), $login_url);
         }
         $password = md5(md5($password . $r['encrypt']));
         $maxloginfailedtimes = 5;
         $logintime = time() - 7200;
         $rtime = $this->a_system_model->get_one(array('username' => $username, 'isadmin' => 1, 'logintime >' => $logintime), $this->tb_times);
         //			if($rtime && $rtime['times'] > $maxloginfailedtimes) {
         //				$this->showmessage('error',lang('com_login_maxtimes_error'),$login_url);
         //			}
         if ($r['password'] != $password) {
             $ip = ip();
             if ($rtime && $rtime['times'] < $maxloginfailedtimes + 1) {
                 $times = $maxloginfailedtimes - intval($rtime['times']);
                 $this->a_system_model->update_set(array('username' => $username), array('ip' => $ip, 'isadmin' => 1, 'data_set' => array('times' => 'times+1')), $this->tb_times);
             } else {
                 $this->a_system_model->del(array('username' => $username, 'isadmin' => 1), 'sys_times');
                 $this->a_system_model->add(array('username' => $username, 'ip' => $ip, 'isadmin' => 1, 'logintime' => time(), 'times' => 1), $this->tb_times);
                 $times = $maxloginfailedtimes;
             }
             if ($times >= 3) {
                 //密码输入错误小于3次时提示
                 $this->showmessage('error', lang('com_login_error'), $login_url);
             } else {
                 $com_login_error = lang('com_login_times_error');
                 $com_login_error = cc_str_replace($com_login_error, array('times' => $times));
                 $this->showmessage('error', $com_login_error, $login_url);
             }
         }
         $this->a_system_model->del(array('username' => $username, 'isadmin' => 1), $this->tb_times);
         $last_login_time = empty($r['this_login_time']) ? time() : $r['this_login_time'];
         $loghash = random(6, 'abcdefghigklmnopqrstuvwxwyABCDEFGHIGKLMNOPQRSTUVWXWY0123456789');
         $this->a_system_model->update(array('id' => $r['id']), array('last_login_ip' => ip(), 'last_login_time' => $last_login_time, 'this_login_time' => time()), $this->tb_admini);
         $ses_data = array('admin_user_id' => $r['id'], 'admin_username' => $username, 'admin_role_id' => $r['role_id'], 'admin_area_id' => $r['areaids'], 'admin_login' => 'logined', 'loghash' => $loghash);
         $this->session->set_userdata($ses_data);
         redirect($this->admin_url . 'main_index/index/?loghash=' . $loghash);
     }
     $this->cismarty->display('login.html');
 }
Example #2
0
 /**
  * 自动模板调用
  *
  * @param $module
  * @param $template
  * @param $istag
  * @return unknown_type
  */
 protected function view($view_file, $page_data = false, $module = '')
 {
     $now_pos = array('name' => '', 'isshop' => '0');
     if (isset($page_data['isleft']) && $page_data['isleft'] == 1) {
         $member_left = getcache('member_left', 'member', 'file', 'array');
         foreach ($member_left as $k => $v) {
             if ($this->_roule_c == $v['sel_c'] && $this->_roule_a == $v['sel_a']) {
                 $now_pos = array('name' => $v['name'], 'isshop' => $v['isshop']);
             }
             if ($v['sel_c'] == 'shop') {
                 $msg = $v['url'];
                 $member_left[$k]['url'] = cc_str_replace($msg, array('shop_id' => $this->session->userdata['member_user_id']));
             }
         }
         $page_data['member_left'] = $member_left;
     }
     $url['m'] = $this->_roule_m;
     $url['c'] = $this->_roule_c;
     $url['a'] = $this->_roule_a;
     $page_data['mvc'] = $url;
     $page_data['now_pos'] = $now_pos;
     parent::view($view_file, $page_data, $module);
 }