解決想法:
首先在做登入是,必須要了解的是客戶端的cookie和服務端的session,登入後,不僅若要儲存服務端的session,也要儲存瀏覽器即客戶端的cookie,偵測登入時,必須session和cookie的相同key的value值相同,才可驗證是否登入。
透過剛才的思路,我們有以下操作:
1、登入介面程式碼寫;(自己寫吧,這裡不麻煩寫了)
2、點選登入之後的PHP程式碼邏輯編寫
特別注意的是,當登入使用者名稱和密碼以及驗證碼驗證通過後,需要些如服務端session:例如
$se = md5($admin_info['id'].$admin_info['user_name'].time()); Session::set('yebao_admin', [ 'admin' => [ 'admin_id' => $admin_info['id'], 'user_name' => $admin_info['user_name'], ], 'is_login' => true, 'auth' => $se, ]);
$se :使用者ID 使用者名稱時間的MD5加密字串,編寫瀏覽器cookie是也要用到這個字串
#$admin_info:使用者資訊
#然後寫瀏覽器cookie
setcookie("auth", $se,time()+3600,"/");
記住,setcookie時,一定要注意加上第三個參數值“ "/" ”,做到全域更換,不然瀏覽器認為只在目前頁面設定了cookie,而不是全部頁面。
有關注意事項,下圖中已用紅框標記:
#推薦教學:PHP影片教學
#############################################以上是PHP登入怎麼寫安全的詳細內容。更多資訊請關注PHP中文網其他相關文章!