3

我目前正在開發一個電子商務網站,該網站將包含大約500個物品。我需要該網站由IE8 +,Firefox,Chrome支持。存儲購物車詳細信息的最佳方式本地存儲或服務器端Cookie

該網站的用戶應該可以添加項目到購物車,即使沒有登錄。一旦他們登錄後,他們應該在他們的購物車中看到他們添加的物品,然後在同一瀏覽器中登錄。沒有必要將瀏覽器中添加的購物車項目映射到用戶帳戶或在用戶登錄的設備上訪問。

鑑於這些要求,什麼是最好的方式來存儲購物車項目,localstorage或serverside HTTP cookie? 還需要一些關於使用本地存儲時可能出現的安全問題(如xss ..)的輸入,如果有任何

+0

您的要求可以通過兩種方式來實現,在這裏我認爲cookie和localStorage之間的主要區別是cookie自動發送到服務器,而localStorage不是。 – dencey

回答

5

通常,實際的購物車內容不是本地存儲的,而是服務器將臨時用戶ID ,該用戶標識符然後將該用戶標識的購物車內容存儲在服務器端數據庫中的Cookie。這使您可以使用與用於登錄用戶完全相同的服務器端代碼(其中基於登錄的用戶ID存儲服務器端的購物車內容),以便可以從任何瀏覽器訪問購物車。唯一的區別是未登錄的用戶被賦予一個臨時的用戶ID,而不是永久的用戶ID。

如果用戶在將東西放入購物車後登錄或創建帳戶,則可以在服務器上輕鬆地將購物車內容分配給現在的永久用戶ID。

由於Cookie在任何地方都可以互操作,因此可以解決IE8的問題。由於Cookie的大小有限,因此將購物車內容存儲在服務器端數據庫中,並且僅將臨時用戶ID的cookie用於發佈。