PHP實作會員帳號只能唯一登入的程式碼實例
php
這篇文章帶給大家的內容是關於PHP實作會員帳號只能唯一登入的程式碼實例,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
情境再現
同一會員帳號限制在同一台裝置(電腦、手機、Ipad等)上單點登錄,重複登入後,原登入造訪頁面時則直接跳到登入頁面且需要重新登入才能正常存取。
原理分析
A帳號在A電腦上登入後,A帳號此時又用B電腦再次登錄,則A電腦請求頁面時,提示「重新登入」的訊息,並跳到登入頁面
思路解析:
A帳號在A電腦上登入後,把SESSION ID寫入TXT文件,每次造訪頁面時,都做一次校驗(比較txt檔案的值是否和目前登入的session_id的值相同)
實例
#1、入口與校驗(index.php)
<?php session_start(); $uid = 10; if(is_login($uid)){ header('location:loginSuccess.php'); }else{ $ getLogSessionId = file_get_contents('session_log/'.$uid.'.txt'); if($getLogSessionId){ echo "已在其他地方登录,请重新登录"; echo "<br>"; echo "5秒后跳转到登录页面!"; header("refresh:5;url=login.php"); }else{ echo '第一次登录...'; echo "<br>"; echo "3秒钟后跳转到登录页面!"; header("refresh:3;url=login.php"); } } /** * 通过登录时写入文件session_id和当前登录设备后生成的session_id进行比较,相同则是同一台设备登录,不同则在别的地方登录 */ function is_login($uid){ $getLogSessionId = file_get_contents('session_log/'.$uid.'.txt'); if($getLogSessionId == session_id()){ return true; }else{ return false; } }
登入後複製
2、登入(login .php)
<?php session_start(); echo "登录中....";echo '<br>'; $uid = 10; file_put_contents('session_log/'.$uid.'.txt',session_id()); echo "登录完成";
登入後複製
3、登入成功(loginSuccess.php)
<?phpecho "我登录成功了!";
登入後複製
4、儲存sessionId資料夾(session_log),測試程式碼,需要手動建立一個或賦予自動產生檔案的權限
相關建議:
php bootstrap實作簡單登錄,phpbootstrap登入
php模擬登入 php curl模擬登入教學大全以上是PHP實作會員帳號只能唯一登入的程式碼實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發
