延长Magento来宾会话最大寿命的缺点


Drawbacks of extending Magento guest session maxlifetime?

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

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

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

  1. 您为会话/客户提供了更长/更大的机会,使其在现有会话上容易受到XSS攻击(并不是说无论如何都不会发生这种情况)
  2. 您会面临会话目录变得过大的风险,这会导致任何会话清理cron都必须遍历越来越多的文件
  3. 如果您在会话中存储了任何不应该执行的其他操作(即,使其大于默认的4kb);那么您将快速消耗磁盘空间
  4. 如果你正在使用内存存储进行会话(Memcache/Redis),那么你最终会耗尽可用空间,并自动截断旧会话。因此,您将不得不将相当大的RAM纯粹用于遗留/归档会话存储
  5. 如果您在会话中使用DB存储,那么您将以糟糕的方式结束。Magento基于DB的会话存储非常可怕,只要有一点使用提示就会崩溃-避免
  6. 潜在的安全问题可能是,如果客户的机器是共享计算机。至少在24分钟(或其他)会话波动的情况下,会话很可能在另一个用户利用它之前就已经过期了

但有更好的解决方案

与其只是延长现场的会话时间,你是否想过研究一种更复杂的解决方案,即如果购物车被放弃,你可以通过电子邮件提醒客户,并给他们一个链接,以重新安装购物车内容/愿望清单/会话等。

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