1

我们有兴趣为访问我们 Magento 网站的客人延长会话持续时间。默认情况下,如果客人将商品添加到购物车并在 24 分钟后离开页面,则会话将被销毁,并且当他们返回购物车时,购物车将归零。我通过 htaccess 将 maxlifetime 延长到 6 小时以对其进行测试,并且它可以正常工作。我知道我的经理有兴趣让会话保持 1 周甚至更长的时间。我的问题是:让会话保持这么长时间的潜在缺点是什么?服务器性能、会话文件的服务器空间、安全问题等?

4

1 回答 1

3

除非您有明确的 PCI 合规性指令以仅保留特定窗口的会话数据 - 没有任何真正的安全问题。会话数据不包含任何敏感信息。

通过扩展窗口,我能想到的唯一问题是。

  1. 您为会话/客户提供了更长/更大的机会,使会话/客户容易受到现有会话的 XSS 攻击(并不是说无论如何都不会出现这种情况)。
  2. 您冒着会话目录变得过大的风险 - 导致任何会话清理 cron 必须遍历增加的文件数量。
  3. 如果您在会话中存储了您不应该做的任何其他事情(即,使其大于默认的 4kb);那么您将迅速消耗磁盘空间。
  4. 如果您将内存存储用于会话(Memcache/Redis) - 那么您最终将用完可用空间并自动截断旧会话。因此,您将不得不提交相当大量的 RAM,纯粹用于遗留/归档会话存储。
  5. 如果您在会话中使用数据库存储 - 那么您最终会以一种糟糕的方式结束。Magento 的基于数据库的会话存储非常可怕,并且在使用最轻微的提示时就会崩溃 -避免
  6. 如果客户的机器是共享计算机,则可能存在潜在的安全问题。至少在 24 分钟(或其他时间)的会话波动中,会话很可能在其他用户可以利用它之前就已经过期。

但是有更好的解决方案

除了延长现场会话时间之外,您是否可能想过研究一个更复杂的解决方案,如果购物车已被遗弃,您可以通过电子邮件提醒客户并给他们一个链接以重新恢复购物车内容/愿望清单/会话等

这显然会为您提供基础解决方案以及您可以主动转换客户的优势 - 而它所需要的只是捕获电子邮件地址。

于 2012-07-18T17:49:34.833 回答