我目前正在开发一个电子商务网站,这将有大约500个项目。我需要该网站由IE8+,火狐,铬支持。
该网站的用户应该能够添加到购物车的项目,即使没有登录。一旦他们登录,他们应该会看到他们的购物车中的项目,这些项目是他们在登录同一浏览器之前添加的。没有必要将浏览器中添加的购物车项目映射到用户帐户或跨用户登录的设备进行访问。
考虑到这些需求,存储购物车项目、本地存储或服务器端HTTP cookie的最佳方式是什么?我还需要一些关于安全问题的信息(比如xss..)在使用本地存储时可能出现的问题,如果有
发布于 2012-12-14 16:53:38
通常,实际的购物车内容不是存储在本地,而是服务器创建一个临时userID,对该userID进行cookie,然后将该userID的购物车内容存储在服务器端数据库中。这允许您使用与登录用户完全相同的服务器端代码(购物车内容基于登录的userID存储在服务器端),以便可以从任何浏览器访问购物车。唯一的区别是,给非登录用户一个临时的userID,而不是一个永久的。
如果用户随后登录或在将东西放入购物车后创建帐户,则购物车内容可以很容易地分配到服务器上现在永久的userID。
由于cookies在任何地方都可以互操作,这就解决了IE8的问题。由于cookie的大小有限,因此将购物车内容存储在服务器端数据库中,并且仅使用临时userID的cookie来处理该问题。
https://stackoverflow.com/questions/13874912
复制相似问题