php 如何使用cookie安全的保存登录状态sessionid

php 如何使用cookie安全的保存登录状态sessionid,第1张

同样还是将用户的认证信息保证在一个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值后作为后门,长期登录。

用一个数组或者集合或者数据库 记录 session

添加一个全局文件,在session_start 事件中,将当前登录的session 添加到 列表中 。。。然后 你就可以编程调用列表中 的session

例:

array a=new array()

session_start 中如下代码:

a.add(session["username"])

application["array"]=a

调用的时候重新对application["array"] 拆箱 即可


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11760305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存