【发布时间】:2010-12-02 05:27:02
【问题描述】:
我正在使用会话来授权用户。只要它们在页面之间移动就可以正常工作,并且我们将超时设置为两个小时,因此通常不会有问题。但是,对于与我们合作的用户,我可以想象他们在完成单个页面的工作后会全神贯注,然后让它静置两个小时。如果会话超时,他们就会失去工作,并且我已经让测试人员对我不满意,因为他们的会话超时(不过只有 24 分钟)。
有没有办法在会话超时时运行脚本,以便我至少可以要求用户再次登录?我知道我可以通过 javascript 来做到这一点——如果我修改网站使用的 100 多个 .php 脚本中的每一个。但是我有一个身份验证脚本,如果我可以从那里运行它,那就太好了。
谢谢,
肖恩。
【问题讨论】:
-
@Breezer - cookie 不会比使用会话更好。 @Sean - 如果您希望它在不刷新页面的情况下工作,我认为您真的需要实施 Javascript 解决方案。附带说明一下,如果您有 100 个页面需要编辑,您可能希望查看分离页面的常见部分,例如页眉,页脚并包括这些。这样你只需要编辑一个文件而不是 100 个。
-
是的,有些东西已经被分离出来了,我使用包含。但是我被告知授权方面将以完全不同的方式完成,所以我必须在大部分网站编写完成后将其放入。哦,好吧。
-
当然 cookie 会更好,你可以将其设置为一天后过期,它会降低服务器的性能,而会话可能会这样做
-
在我看来问题不在于您的会话超时,而在于您没有先自动保存草稿。
-
如果您有超过 100 个可访问的 PHP 脚本,那么您做错了。如果他们都在其顶部复制'n 粘贴代码来处理身份验证和会话,那么您这样做非常 错误。所有这些都应该在一个地方,例如有一个控制器,所有请求都通过它来处理身份验证。更容易维护。更难搞砸。
标签: php session-timeout