如何在php项目中防止同一用户多次登录-创新互联

如何在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 "登录成功,正在跳转!" ; 
header ("Location:$url");

(5) 在需要跳转的页面,起始处加入
main.php


prepare($sql); 
$query->execute(); 
$user = $query->fetch(PDO::FETCH_OBJ); 
 
if ($user->username == ""){ 
session_destroy(); 
echo "" ; 
echo "window.location.href = 'index.html';" ; 
echo "" ; 
exit () ; 
} 
?> 
 
 
 
...... 
 

关于如何在php项目中防止同一用户多次登录问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


文章标题:如何在php项目中防止同一用户多次登录-创新互联
文章起源:http://scjbc.cn/article/dgshpp.html

其他资讯