很多站长朋友们都不太清楚php登录长期保存,今天小编就来给大家整理php登录长期保存,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php如何让用户一直处于登录状态 2、 php 如何使用cookie安全的保存登录状态sessionid 3、 php保存登录状态 4、 php如何保持登陆身份? php如何让用户一直处于登录状态首先要确定确定浏览器的cookie没有被禁用,然后确定在每个页面开头都存在 session_start() ,并且两个页面都为同一个域名下。
php 如何使用cookie安全的保存登录状态sessionid同样还是将用户的认证信息保证在一个cookie中,具体如下:
1.cookie名:uid。推荐进行加密,比如MD5('站点名称'+userid)。
2.cookie值:登录名|有效时间Expires|hash值。hash值可以由"登录名+有效时间Expires+用户密码(加密后的)的前几位+salt",salt是保证在服务器端站点配置文件中的随机数。
这样子设计有以下几个优点:
1.即使数据库被盗了,盗用者还是无法登录到系统,因为组成cookie值的salt是保证在服务器站点配置文件中而非数据库。
2.如果账户被盗了,用户修改密码,可以使盗用者的cookie值无效。
3.如果服务器端的数据库被盗了,通过修改salt值可以使所有用户的cookie值无效,迫使用户重新登录系统。
4.有效时间Expires可以设置为当前时间+过去时间(比如2天),这样可以保证每次登录的cookie值都不一样,防止盗用者窥探到自己的cookie值后作为后门,长期登录。
php保存登录状态在php中要保存登录状态,一般都会用cookie或session来保存用户的信息,比如用户名和密码。例子:
$_SESSION['user_id']=$user_id;
$_SESSION['username']=$password;
setcookie('user_id',$user_id,time()+(60*60*24*30));
setcookie('username',$password,time()+(60*60*24*30));
如果要用户下次来访问网站还能读取用户信息就要使用cookie,它可以把用户信息存到电脑中,而用session保存的信息关闭浏览器就会销毁。
php如何保持登陆身份?判断登陆正确后,将用户名等信息写入session
比如登陆页面的代码如下:
session_start();//开启session
$UserName = $_POST['userName'];
//然后进行数据库比对
if (登陆信息正确){
$_SESSION['username'] = $UserName;//将用户名写入session
}
然后你在其他页面需要判断是否登录就如下代码:
session_start();//开启session
$UserName = $_SESSION['username'];//取出session中的值
if ( empty( $UserName) ) { //判断取出的session的值是否为为空,如果为空则说明没有登陆
echo '未登陆';
}
原理大致就是像上面这样
关于php登录长期保存的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php登录长期保存 php保存cookie的详细内容...