ホームページ >バックエンド開発 >PHPチュートリアル >SESSION を使用して ThinkPHP でユーザー ログイン検証を実装する手順

SESSION を使用して ThinkPHP でユーザー ログイン検証を実装する手順

WBOY
WBOYオリジナル
2016-06-13 12:20:371224ブラウズ

SESSION を使用して ThinkPHP でユーザーのログイン検証を実装する方法

ユーザーがホームページにログオンするときの状態は 2 つだけあり、1 つは訪問者と同様の ID でログインすること、もう 1 つはログインすることです。すでにログインしている ID でログインします。サーバーで検証された ID でログインします。

これら 2 つのログインについて、主に次の点について説明します。

thinkphp を使用する場合、まず第一に、これはログイン検証機能を改善するものではなく、次の点で比較的安全になるだけです。ログイン ID を完全に検証しないと、ユーザーがバックエンド管理にログインしようとする可能性があり、非常に恐ろしいため、最初に非常に重要なビジネス ロジックを理解する必要があります。

通常、ユーザー名とパスワードを入力してログインする場合は、ジャンプする前にセッション データを書き込んで、そのデータを使用してログインする必要があります。ただし、ユーザーがパスワードを入力してログインしない場合は、セッションデータは存在しないはずなので、セッションデータが存在するかどうかを判定しますが、この判定もジャンプ前に行う必要があります。

したがって、セッション データの保存と読み取りは非常に重要であり、柔軟に使用する必要があります。

以下は、セキュリティ上の理由により、すべてが公開されているわけではありません。 、参照のみ

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();			}		}    }


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。