Javascript 存储购物车详细信息的最佳方法本地存储或服务器端cookie

Javascript 存储购物车详细信息的最佳方法本地存储或服务器端cookie,javascript,cookies,local-storage,shopping-cart,client-side-scripting,Javascript,Cookies,Local Storage,Shopping Cart,Client Side Scripting,我目前正在开发一个电子商务网站,将有大约500个项目。我需要该网站是由IE8+支持,Firefox,chrome 该网站的用户应该能够添加项目到购物车,即使没有登录。登录后,他们应该会看到购物车中的项目,这些项目是他们在登录到同一浏览器之前添加的。浏览器中添加的购物车项目无需映射到用户帐户,也无需通过用户登录的设备进行访问 考虑到这些要求,存储购物车项目、本地存储或服务器端HTTP cookie的最佳方式是什么? 还需要一些关于使用localstorage时可能出现的安全问题(如xss…)的输入

我目前正在开发一个电子商务网站,将有大约500个项目。我需要该网站是由IE8+支持,Firefox,chrome

该网站的用户应该能够添加项目到购物车,即使没有登录。登录后,他们应该会看到购物车中的项目,这些项目是他们在登录到同一浏览器之前添加的。浏览器中添加的购物车项目无需映射到用户帐户,也无需通过用户登录的设备进行访问

考虑到这些要求,存储购物车项目、本地存储或服务器端HTTP cookie的最佳方式是什么?
还需要一些关于使用localstorage时可能出现的安全问题(如xss…)的输入,如果存在任何问题,通常情况下,实际的购物车内容不会存储在本地,而是服务器生成一个临时用户ID、该用户ID的cookie,然后将该用户ID的购物车内容存储在服务器端数据库中。这允许您使用与登录用户完全相同的服务器端代码(其中购物车内容根据登录的用户ID存储在服务器端),以便可以从任何浏览器访问购物车。唯一的区别是,未登录的用户获得的是临时用户ID,而不是永久用户ID

如果用户在将物品放入购物车后登录或创建帐户,那么购物车内容可以很容易地分配给服务器上现在的永久用户ID


由于cookie在任何地方都可以互操作,这就解决了IE8的问题。由于cookie的大小有限,将购物车内容存储在服务器端数据库中,并且仅将cookie用于发布的临时用户ID句柄。

您的要求可以通过两种方式实现,在这里,我认为cookie和localStorage的主要区别在于cookie是自动发送到服务器的,而localStorage不是。