[ユーザー検証] このアイデアは、ユーザーがログインしているかどうか、抜け穴や関連する問題がないかどうかを検証するために使用されます。

WBOY
リリース: 2016-06-13 11:59:29
オリジナル
971 人が閲覧しました

[ユーザー検証] このアイデアは、ユーザーがログインしているかどうか、抜け穴や問題がないかどうかを検証するために使用されます

この投稿の最終編集日はデフォルトで 2014-05-25 13:31:32考慮されるのは、サーバーが SQL クエリを最小限に抑えることです。
ブラウザを閉じるとSESSIONが無効になるため、代わりにCOOKIEを使用し、ユーザーがログインしているかどうかを検出するために次のメソッドを記述します。

コードは次のとおりです:
<br>/**<br> * 初期化、デフォルトでユーザー COOKIE データ検証7#zbphp.com<br>*/<br>public function authCheck()<br>{<br> if (cookie ('uid')) {<br> $uid = cookie('uid');<br> $umd5 = cookie('umd5');<br> $udata = cookie('udata');<br> if (isUid($uid) && isMd5($umd5) && $udata && ($strDecode = authcode($udata, 'DECODE'))<br> $ Strdecode) && $ データ ['UID'] == $ UID) {<br> <br> // 60 秒ごとに SQL をチェックして <br> を検出する必要があります if ($ This- & GT; Time-$ data [' lastactive'] > self::INTERVAL) {<br> if (($rsUser = M('メンバー')->where("mid='$uid'")->getField('mid,uname, pwd,vip,viptime1,viptime2,lastactive,isfbd'))<br> er($rsUser[' email']) == strto lower($data['email'])<br> {<br><br> If($rsUser['isfbd'] == 't ' ){<br> $this->error('あなたのアカウントは禁止されています。管理者に連絡してください。 ');<br>$ this-&gt; resetuser();<br>return; <br>}<br><br>to(' lastactive '、$ this-&gt; time);<br><br> $data['upwd'] = md5($rsUser['pwd'].$data['salt']);<br><br>変更が発生しました。再度ログインしてください。',',U('メンバー! /Index/login?f='.__URL__));<br> 🎜> }<br>            }<br><br> $data['lastactive'] = $this->time;<br><br> $this->UserData = $data;<br><br> $strEncode = json_encode ($ data);<br><br> //配置COOKIE默认10天过期<br> cookie('uid',$data['uid']);<br> cookie('umd5',md5($strEncode)) ;<br> cookie('udata',authcode($strEncode,'ENCODE'));<br><br> return;<br> }<br><br> $this->resetUser();<br> }<br>}<br><br>/**<br> * SESSION をすべてログアウト <br> *<br> * @return bool<br>*/<br>public function resetUser()<div class="clear"></div>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート