PHP 如何实现会话永不过期,一直保持登录状态!

2020-09-15 13:43:18 +08:00
 s609926202

目前了解到的实现方式,如下:

session.use_cookies=1  
session.cookie_lifetime=999999999  
session.gc_maxlifetime=999999999  

请问还有其他方式吗?

4282 次点击
所在节点    PHP
26 条回复
tomczhen
2020-09-15 13:51:42 +08:00
说好是一辈子就是一辈子,差一年一个月一天一个时辰都不行。
:doge:
dzdh
2020-09-15 13:53:58 +08:00
验证客户端证书吧 登录过程都免了
ADANMEI
2020-09-15 13:59:26 +08:00
jwt 设置永不过期
realpg
2020-09-15 14:00:27 +08:00
那还搞啥 session
一个永不过期的 cookie 认证好了
tqrj
2020-09-15 14:03:06 +08:00
去学习吧别问了
encro
2020-09-15 14:04:06 +08:00
session 使用了 cookie 的 PHP_SESSION_ID,客户端将 cookie 一清除,就退出了。
很多浏览器都是自动清除 cookie 的。
所以要看你的场景吧。

你需要的可能是 api token 。比如 jwt 之类的。
zpfhbyx
2020-09-15 14:41:39 +08:00
加的 url 的 path 里面
ben1024
2020-09-15 14:56:20 +08:00
弄个凭证获取到就放行
stevenhawking
2020-09-15 15:23:51 +08:00
JWT Token, forever mode
NjcyNzMzNDQ3
2020-09-15 17:03:47 +08:00
写个 js,没多少秒请求下服务器,让 session 不断就行了,几行代码的事
treblex
2020-09-15 17:15:57 +08:00
用户 id 当 token
richangfan
2020-09-15 17:27:29 +08:00
定时刷新就是了
caijihui11
2020-09-15 17:44:39 +08:00
持久化到库中,登录的时候存取一下
superrichman
2020-09-15 18:00:15 +08:00
你这 30 年的 cookie 和永久差不多了,一般项目活不了这么久 🐶
yuang
2020-09-15 18:20:44 +08:00
做成免登录即可
sherlockwhite
2020-09-16 10:07:03 +08:00
不过期的 token
s609926202
2020-09-16 10:18:40 +08:00
@NjcyNzMzNDQ3 这样做,如果服务器 session 过期了,不一样会处于登出状态吗?还是说把服务器 session 设置过期的时间长一些
puzzle9
2020-09-16 11:00:27 +08:00
直接用一个特别的登录地址当做地址把 只要从这个地址进去 保证他在浏览器开着的时候不过期就好
bzj
2020-09-16 11:42:46 +08:00
@yuang 免登录跟一次登录终身有效还是有区别的
hushao
2020-09-16 13:15:42 +08:00
服务端存放是否已登陆啊,密码验证后数据库设为已登陆、除非用户登出。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707165

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX