中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在php項目中防止同一用戶多次登錄

發布時間:2021-03-04 17:37:59 來源:億速云 閱讀:148 作者:Leah 欄目:開發技術

如何在php項目中防止同一用戶多次登錄?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

php有什么用

php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。

【解決方案】
(1) 每次登錄,身份認證成功后,重新產生一個session_id。

session_regenerate_id(); 
session_register ("username") ;

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

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

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

$_SESSION["username"] = $username;

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

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

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

<?php 
header('Content-type:text/html; charset=utf-8'); 
$sessionid = $_GET['sid']; 
session_id($sessionid); 
session_start (); 
$username = $_SESSION["username"]; 
$db = new PDO('sqlite:softToken.db'); 
$sql = "select * from userinfo where username='$username' and sessionid='$sessionid';"; 
$query = $db->prepare($sql); 
$query->execute(); 
$user = $query->fetch(PDO::FETCH_OBJ); 
 
if ($user->username == ""){ 
session_destroy(); 
echo "<script language='javascript' type='text/javascript'>" ; 
echo "window.location.href = 'index.html';" ; 
echo "</script>" ; 
exit () ; 
} 
?> 
 
<html> 
<body> 
...... 
</body> 
</html>

關于如何在php項目中防止同一用戶多次登錄問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

古浪县| 海晏县| 昌宁县| 杨浦区| 华宁县| 江陵县| 绥化市| 竹北市| 冕宁县| 高平市| 凭祥市| 喀喇沁旗| 长阳| 闽清县| 漯河市| 阿克陶县| 和林格尔县| 搜索| 监利县| 西昌市| 吉木乃县| 玉环县| 理塘县| 宜川县| 合水县| 马公市| 日喀则市| 东光县| 天镇县| 新乐市| 甘孜县| 桑植县| 修武县| 大名县| 宜良县| 长岛县| 五原县| 东乌| 荔浦县| 伊春市| 康乐县|