【问题标题】:Magento Permanent Customer SessionMagento 永久客户会议
【发布时间】:2011-12-07 09:02:07
【问题描述】:

前提很简单。

新客户到达我们的网站,被重定向到注册/登录页面(因为他们是新访问者并且没有 cookie)并且在注册或登录后(如果已经有一个帐户但从不同的机器访问/浏览器)他们被带到主页。

他们随后每次访问时,都不应看到注册/登录页面(除非他们明确退出、cookie 被禁用/阻止,或者他们从不同的浏览器/设备访问)。

我认为理论上,将 cookie 值设置为一个高得离谱的数字(在我们的例子中,30 年以上)并在重定向到注册/登录页面之前检查该 cookie 的存在是可行的。

在我们的例子中它不是。我觉得会话仍然持续大约一个小时左右,然后访问网站的主页会将用户重定向到注册/登录。

那么我在这里错过了什么?有什么建议吗?

---编辑--- 我们的网络主机向我保证 session.gc_maxlifetime 不是问题。我在我们的开发服务器上将它设置为 86400,在让我的浏览器一夜之间闲置后,我第二天返回,我认为它按预期工作。

我遇到的一个问题是它还将 magento 管理员超时设置为相同的值,如果员工被授予 Magento 管理员访问权限然后被解雇/退出/等,这可能会带来安全风险。只要我们希望客户会话持续(几个月),我当然不希望他们的会话继续。

我希望 CONFIG>>ADVANCED>>ADMIN>>SECURITY>>SESSION LIFETIME 设置不会被此覆盖。

【问题讨论】:

  • 嗨 pspahn,问题是如何出现的,您找到解决方案了吗?
  • 我已经好几天没有时间回到这个问题上了。感谢您的帮助。

标签: session magento cookies login


【解决方案1】:

您的问题很可能是您需要增加它以匹配 cookie 持续时间中的值的 Php 会话值;在你的 php.ini 中加入以下内容:

session.gc_maxlifetime = 86400

您需要将“86400”值替换为您希望会话/cookie 持续的等效时间我建议您将会话和 cookie 值“604800”设置为大约一周。

在您的服务器上发生的事情是,magento 将在 var/sessions 文件夹下的每个会话中访问一个会话文件。这可能会导致您的服务器用尽 inode ,具体取决于您的服务器配置。

干杯!

【讨论】:

  • 但是 86400 的值是否足以让用户在一周内返回时保持打开的会话?一个月?如果我们开始让数千个会话保持打开那么长时间,我很难相信这会对服务器性能有好处。
  • 另外,虽然 fab.com 不使用 Magento(据我所知),但他们使用的方式非常完美。
  • 我可以建议的最好的事情是尝试一下,这取决于您的网站流量和服务器配置可能会或可能不会影响性能。
  • 这解决了为什么它不起作用的问题之一。这使我们的开发站点按预期工作,但在我推动这些更改后,我们的生产站点仍然无法工作。在处理 https:// 与 http://(我们的开发站点没有 SSL)时,代码中还有一个额外的问题。
  • pspahn 请描述 SSL 的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
  • 2023-03-18
  • 2019-09-02
  • 2014-01-13
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
相关资源
最近更新 更多