1

我有一个运行良好的 PHP 站点....只要没有网络中断。我遇到了用户问题,尤其是在 iPad 和笔记本电脑上,这些用户在长时间(可能一个小时左右)没有提交任何数据的情况下登录并在网站内工作。他们输入一堆笔记,当他们提交时,它们会被发送到登录屏幕,而他们在那一小时所做的工作就会丢失。我已经习惯了肮脏的外表......我的研究表明,也许使用 cookie 会帮助解决这个问题。安全性不是一个大问题,因此在 cookie 中存储用户名和散列密码并不是什么大威胁。但我从未使用过 cookie,也不知道从哪里真正开始。我的目标是让任何用户都能够登录,开始在文本区域中输入,在整个建筑物中移动,可能会断开他们的互联网连接并将其恢复,并且能够在没有错误的情况下提交表单。有任何想法吗?提前致谢...

4

1 回答 1

1

听起来您的会话即将到期,与更改互联网连接或 Wifi AP 无关。

使用 PHP 更改默认 PHP 会话到期,或更改 php.ini 设置:

ini_set("session.cookie_lifetime","3600"); //an hour

默认会话处理程序通过在客户端上设置会话 ID cookie 来工作。对于每个页面请求,都会发送会话 ID。如果会话过期,cookie 将被删除,因此客户端将显示登录屏幕。

假设您使用的是默认的 PHP 会话处理程序(您没有说)。如果这不是问题,那么它会指向您的代码中的问题,例如,如果您试图通过比较 IP 地址来防止会话劫持(随着用户从 AP 移动到 AP,这将改变)。

于 2012-11-08T16:54:38.337 回答