思路:
1、每個人登錄的時候會生成一個隨機碼(隨機碼保存在資料庫中);
2、客戶端cookies不保存用戶名,只保存隨機碼;
3、賬號在任何的地方登錄時便會執行第一二部,之前的登錄就會失效;
4、功能即可實作;
擴展:
5、可以設定網頁最后更新的時間,并且超過一定的時間后就過期;
6、隨機碼要長一點才不會重復,我現在用的64進制32位,這樣幾乎不可能重復;
7、另外客戶端不保存用戶名和密碼只存存隨機碼相對來說安全性也要高些;
決議:
1、使用的是mysql,新增Person_yanzheng欄位

2、隨機碼生成,百度一下很多,本文列舉如下:
function GetRandStr($length) { $str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $len = strlen($str) - 1; $randstr = ''; for ($i = 0; $i < $length; $i++) { $num = mt_rand(0, $len); $randstr .= $str[$num]; } return $randstr; } $number = GetRandStr(6); echo $number;
文中因為使用的是thinkphp,把代碼放到了CommonAction控制器中,IndexAction控制器login方法參考即可,

3、action中登陸模塊代碼,本文以thinkphp為例(登陸模塊繼承上級CommonAction):

4、CommonAction中代碼(yanzheng這個方法是為了驗證是否登陸對所有方法都起效果,所有嵌入到這個方法最佳,):

5、這樣就可以了,

文章部分來源:百度百科
原文>>更多內容請訪問《翼的家園》
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61851.html
標籤:PHP
