Heim  >  Artikel  >  php教程  >  ThinkPHP中利用SESSION实现用户登录验证的方法

ThinkPHP中利用SESSION实现用户登录验证的方法

WBOY
WBOYOriginal
2016-06-13 09:02:351035Durchsuche

ThinkPHP中利用SESSION实现用户登录验证的方法

用户登上一个主页无非有这么两种状态,一种是类似于游客的身份登录,另一种是曾经已经登陆过的身份即经过服务器验证过的身份登录。

针对这两种登录,主要说一下:

我们在使用thinkphp的时候,首先,他是不提高登录验证功能的,仅仅是在路径方面做的相对比较安全,因为我们如果不对登录身份进行充足的验证,用户就完全可以去试着登录你的后台管理,那么这是非常可怕的,所以,首先要明白一个非常重要的业务逻辑。

如果按照正常的输入用户名密码的方式进行登录,在跳转之前我们就应该写入session数据,然后用数据进行登录,但是如果用户没有一输入密码的方式登录,那么它必然没有session数据,我们就判断session数据的存在与否,但是这个判断也应该是在跳转之前的。

所以,session数据的存入和读取是非常重要的,必须要灵活的运用才行:

下面是登录的实例代码,由于安全因素,并没有全部发布,仅作参考

class ManagerController extends Controller {
    public function login(){
    	//////这是登录验证模块
		if(empty($_POST)||($_POST['username']=='请输入用户名')){
			$this->display();
		}else{
			$info=D('userinfo');
			$res=$info->select();
			$username=$_POST['username'];
			$password=md5($_POST['password']);
			$ver=0;
			foreach($res as $key => $value){
				if($res[$key]['username']==$username&&$res[$key]['password']==$password){
					$ver++;
				}
			}
			if($ver){
				S('username',$username);
				$this->assign('username',S('username'));
				$this->display('Index/index');
				// $this->success("登录成功",U('Index/index'));
			}else{
				// echo "<h5 style=&#39;color: black;&#39;>用户名或密码错误</h5>";
				$this->assign("error_info","您的用户名或密码错误");
				$this->display();
			}
		}
    }


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn