国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php有效防止同一用戶多次登錄

2024-05-04 23:40:29
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了php有效防止同一賬號同一時間多次登錄的方法,感興趣的小伙伴們可以參考一下

【問題描述】:

同一用戶在同一時間多次登錄如果不能檢測出來,是危險的。因為,你無法知道是否有其他用戶在登錄你的賬戶。如何禁止同一用戶多次登錄呢?

【解決方案】

(1) 每次登錄,身份認證成功后,重新產生一個session_id。

 

 
  1. session_regenerate_id();  
  2. session_register ("username") ;  

(2) 在用戶數據庫中開一個sessionid字段,重新產生session_id后,都更新該字段。

 

 
  1. $sessionid = session_id();  
  2. $db = new PDO('sqlite:softToken.db');  
  3. $sql = "update userinfo set sessionid ='$sessionid' where username='$username' and passwd='$passwd';";  
  4. $query = $db->prepare($sql);  
  5. $query->execute();  

(3) 建立一個session保存用戶名

 

 
  1. $_SESSION["username"] = $username;  

(4) 利用url重寫,傳遞session_id

 

 
  1. $url = "main.php?sid=".session_id();  
  2. unset($db);  
  3. echo "<font color=blue>登錄成功,正在跳轉!</font>" ;  
  4. header ("Location:$url");  

(5) 在需要跳轉的頁面,起始處加入

main.php

 

 
  1. <?php  
  2. header('Content-type:text/html; charset=utf-8');  
  3. $sessionid = $_GET['sid'];  
  4. session_id($sessionid);  
  5. session_start ();  
  6. $username = $_SESSION["username"];  
  7. $db = new PDO('sqlite:softToken.db');  
  8. $sql = "select * from userinfo where username='$username' and sessionid='$sessionid';";  
  9. $query = $db->prepare($sql);  
  10. $query->execute();  
  11. $user = $query->fetch(PDO::FETCH_OBJ);  
  12.  
  13. if ($user->username == ""){  
  14. session_destroy();  
  15. echo "<script language='javascript' type='text/javascript'>" ;  
  16. echo "window.location.href = 'index.html';" ;  
  17. echo "</script>" ;  
  18. exit () ;  
  19. }  
  20. ?>  
  21.  
  22. <html>  
  23. <body>  
  24. ......  
  25. </body>  
  26. </html> 

以上就是php有效防止同一賬號同一時間多次登錄的解決方案,希望對大家解決同一賬號同一時間多次登錄問題有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄢陵县| 聂拉木县| 砚山县| 抚顺县| 吉林省| 怀柔区| 定南县| 英吉沙县| 仙游县| 桦甸市| 东港市| 香河县| 隆德县| 固镇县| 滕州市| 大理市| 石渠县| 甘南县| 普宁市| 泰兴市| 福贡县| 彰化县| 木里| 衡水市| 黔东| 澄城县| 榆社县| 永年县| 巴林左旗| 鄂尔多斯市| 承德县| 和静县| 乐山市| 黄石市| 如东县| 大足县| 加查县| 中卫市| 普兰县| 沧州市| 马关县|