Advertisement
Guest User

Untitled

a guest
Mar 18th, 2019
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.57 KB | None | 0 0
  1. <?php
  2. namespace Admin\Controller;
  3.  
  4. class LoginController extends \Think\Controller
  5. {
  6.     public function index($username = NULL, $password = NULL, $verify = NULL, $ent = NULL)
  7.     {
  8.         if (IS_POST) {
  9.             if (!check_verify($verify)) {
  10.                 $this->error('验证码输入错误');
  11.             }
  12.             $admin_login_verify = I('post.moble_verif');
  13.  
  14.              if(!$admin_login_verify){
  15.                 $this->error('请输入手机验证码');
  16.             }
  17.  
  18.             if ( $admin_login_verify!= session('admin_login_verify')) {
  19.                 $this->error('短信验证码错误!');
  20.             }
  21.  
  22.  
  23.             $admin = M('Admin')->where(array('username' => trim($username)))->find();
  24.            
  25.  
  26.             $ga = new \Common\Ext\GoogleAuthenticator();
  27.  
  28.             if (!($ga->verifyCode($admin['ga'],  I('post.gacode'), 1))) {
  29.                 $this->error('谷歌验证失败');
  30.             }
  31.            
  32.             if ($admin['password'] != md5($password)) {
  33.                 $this->error('用户名或密码错误!');
  34.             }
  35.             else {
  36.                 $re = M('AdminLog')->add(array('userid'=>$admin['id'],'ip'=>get_client_ip(),'addtime'=>time()));
  37.                 if($re){
  38.                     session('admin_id', $admin['id']);
  39.                     M('VisitLog')->add(array('aid'=>session('admin_id'),'ip'=>get_client_ip(),'remark'=>'登陆','url'=>__CLASS__.'\\'.__FUNCTION__,'addtime'=>time()));
  40.  
  41.                     //S('5df4g5dsh8shnfsf', $admin['id']);
  42.                     session('admin_username', $admin['username']);
  43.                    /* session('admin_password', $admin['password']);*/
  44.                     $this->success('登陆成功!', U('Index/index'));
  45.                 }
  46.             }
  47.         }else {
  48.             defined('ADMIN_KEY') || define('ADMIN_KEY', '');
  49.             if (ADMIN_KEY && ($ent != ADMIN_KEY)) {
  50.                 $this->redirect('Home/Index/index');
  51.             }
  52.             if (session('admin_id')) {
  53.                 $this->redirect('Admin/Index/index');
  54.             }
  55.  
  56.             $this->display();
  57.         }
  58.     }
  59.  
  60.     public function adminLogin($username)
  61.     {
  62.  
  63.         $config = (APP_DEBUG ? null : S('home_config'));
  64.  
  65.         if (!$config) {
  66.             $config = M('Config')->where(array('id' => 1))->find();
  67.             S('home_config', $config);
  68.         }
  69.         C($config);
  70.  
  71.  
  72.         if (!check($username, 'username')) {
  73.             $this->error('用户名格式错误!');
  74.         }
  75.  
  76.         $moble = M('Admin')->where(array('username' => trim($username)))->getField('moble');
  77.  
  78.         if (!$moble) {
  79.             $this->error('你的手机没有认证');
  80.         }
  81.  
  82.         $code = rand(11111, 99999);
  83.         session('admin_login_verify', $code);
  84.         $content = '您正在进行操作,您的验证码是' . $code;
  85.  
  86.         if (send_moble($moble, $content)) {
  87.             $this->success('短信验证码已发送到你的手机,请查收');
  88.         }else {
  89.             $this->error('短信验证码发送失败,请重新点击发送');
  90.         }
  91.     }
  92.  
  93.     public function loginout()
  94.     {
  95.         session(null);
  96.         S('5df4g5dsh8shnfsf', null);
  97.         $this->redirect('Login/index');
  98.     }
  99.  
  100.     public function lockScreen()
  101.     {
  102.         if (!IS_POST) {
  103.             $this->display();
  104.         }
  105.         else {
  106.             $pass = trim(I('post.pass'));
  107.  
  108.             if ($pass) {
  109.                 session('LockScreen', $pass);
  110.                 session('LockScreenTime', 3);
  111.                 $this->success('锁屏成功,正在跳转中...');
  112.             }
  113.             else {
  114.                 $this->error('请输入一个锁屏密码');
  115.             }
  116.         }
  117.     }
  118.  
  119.     public function unlock()
  120.     {
  121.         if (!session('admin_id')) {
  122.             session(null);
  123.             $this->error('登录已经失效,请重新登录...', '/Admin/login');
  124.         }
  125.  
  126.         if (session('LockScreenTime') < 0) {
  127.             session(null);
  128.             $this->error('密码错误过多,请重新登录...', '/Admin/login');
  129.         }
  130.  
  131.         $pass = trim(I('post.pass'));
  132.  
  133.         if ($pass == session('LockScreen')) {
  134.             session('LockScreen', null);
  135.             $this->success('解锁成功', '/Admin/index');
  136.         }
  137.  
  138.         $admin = M('Admin')->where(array('id' => session('admin_id')))->find();
  139.  
  140.         if ($admin['password'] == md5($pass)) {
  141.             session('LockScreen', null);
  142.             $this->success('解锁成功', '/Admin/index');
  143.         }
  144.  
  145.         session('LockScreenTime', session('LockScreenTime') - 1);
  146.         $this->error('用户名或密码错误!');
  147.     }
  148.  
  149.     public function queue()
  150.     {
  151.         $file_path = DATABASE_PATH . '/check_queue.json';
  152.         $time = time();
  153.         $timeArr = array();
  154.  
  155.         if (file_exists($file_path)) {
  156.             $timeArr = file_get_contents($file_path);
  157.             $timeArr = json_decode($timeArr, true);
  158.         }
  159.  
  160.         array_unshift($timeArr, $time);
  161.         $timeArr = array_slice($timeArr, 0, 3);
  162.  
  163.         if (file_put_contents($file_path, json_encode($timeArr))) {
  164.             exit('exec ok[' . $time . "]\n");
  165.         }
  166.         else {
  167.             exit('exec fail[' . $time . "]\n");
  168.         }
  169.     }
  170. }
  171.  
  172. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement