<?phpnamespace Admin\Controller;use Think\Model;class UserModel extends Model{public function login(){//用户名和密码$username = I("post.username");$$password = I("post.password");//验证用户信息$info = $this->where(array('username'=>$username))->find();if($info){//双MD5加密if($info['password']==md5(md5($password) .$info['salt'])){//记录登录标识session('id',$info['id']);session('username',$info['username']);return true;}else{return 2;//密码错误}}else{return 1;//用户信息不存}}}?>
<?phpnamespace Admin\Controller;use Think\Controller;class BackController extends Controller{public function login(){// 载入一个登录的页面if(IS_POST){$userModel =D("User");$status = $userModel->login();//true 代表成功 1代表用户不存在2代表密码错误if($status === true){$this->success('登陆成功',U('Goods/lst'));exit();}else if($status === 1){$this->error('登录失败,用户名不存在');}elseif($status === 2){$this->error('登录失败,密码错误');}}$this->display();}}?>
加密算法:
TP内置的加密的类(堆成加密)
public function test24(){$cryptObj = new Crypt();$password= 'admin88';$key=1;$mw = $cryptObj->encrypt($password,$key);dump($mw);}public function test25(){$mw = 'xxxaadsasdasdasd';$key=1;$cryptObj = new Crypt();$ss=$cryptObj->decrypt($mw,$key);dump($ss);}
登录的验证码
使用TP内置的自动验证完成登录时候表单的验证信息,同时做一个验证的使用
1.在BackController.class.php定义一个code方法,生成一个验证
public function code(){$config= array('fontSize' => 30, //验证码的字体大小'length'=> 3, //验证码的位数'useNoise'=> false, // 关闭验证码杂点);$Verify=new \Think\Verify($config);$Verify->entry();}
2.在login.html页面调用上面的code方法
3.在BackController.class.php的login方法里面进行验证
防止翻墙操作
分页




