1. 購物車是用session存儲還是用cookie存儲比較好
當然是用cookie比較好了,session是存儲到伺服器的,如果用戶過多的話,會加重服務的,但是cookie是存儲到本地的,不太安全,但你可以加密後存儲
2. 如果購物車cookie被禁用了怎麼辦
Cookie與 Session,一般認為是兩個獨立的東西,Session採用的是在伺服器端保持狀態的方案,而Cookie採用的是在客戶端保持狀態的方案。但為什麼禁用Cookie就不能得到Session呢?因為Session是用Session ID來確定當前對話所對應的伺服器Session,而Session ID是通過Cookie來傳遞的,禁用Cookie相當於失去了Session ID,也就得不到Session了。
如何禁用cookie?
1、啟動IE;
2、在「工具」菜單上,單擊「Internet選項」,打開「Internet選項」對話框;
3、單擊「隱私」選項卡,將滑塊上移到更高的隱私級別。如果移動到最頂端則是選擇「阻止所有的Cookie」,此時系統將阻止所有網站的Cookie,而且網站不能讀取計算機上已有的Cookie;
4、單擊「確定」按鈕。
sessionid是存儲在cookie中的,解決方案如下:
Session URL重寫,保證在客戶端禁用或不支持COOKIE時,仍然可以使用Session
session機制。session機制是一種伺服器端的機制,伺服器使用一種類似於散列表的結構(也可能就是使用散列表)來保存信息。
當程序需要為某個客戶端的請求創建一個session時,伺服器首先檢查這個客戶端的請求里是否已包含了一個session標識(稱為session id),如果已包含則說明以前已經為此客戶端創建過session,伺服器就按照session id把這個session檢索出來使用(檢索不到,會新建一個),如果客戶端請求不包含session id,則為此客戶端創建一個session並且生成一個與此session相關聯的session id,session id的值應該是一個既不會重復,又不容易被找到規律以仿造的字元串,這個session id將被在本次響應中返回給客戶端保存。 保存這個session id的方式可以採用cookie,這樣在交互過程中瀏覽器可以自動的按照規則把這個標識發揮給伺服器。一般這個cookie的名字都是類似於 SEEESIONID。但cookie可以被人為的禁止,則必須有其他機制以便在cookie被禁止時仍然能夠把session id傳遞回伺服器。 經常被使用的一種技術叫做URL重寫,就是把session id直接附加在URL路徑的後面。還有一種技術叫做表單隱藏欄位。就是伺服器會自動修改表單,添加一個隱藏欄位,以便在表單提交時能夠把session id傳遞回伺服器。
3. 簡要回答在互聯網應用中為什麼要使用Cookie
作用:伺服器可以利用Cookies包含信息的任意性來篩選並經常性維護這些信息,以判斷在HTTP傳輸回中的狀態。Cookies最典型的應用答是判定注冊用戶是否已經登錄網站,用戶可能會得到提示,是否在下一次進入此網站時保留用戶信息以便簡化登錄手續,這些都是Cookies的功用。另一個重要應用場合是「購物車」之類處理。用戶可能會在一段時間內在同一家網站的不同頁面中選擇不同的商品,這些信息都會寫入Cookies,以便在最後付款時提取信息。
危害:
Cookies在某種程度已經嚴重危及用戶的隱私和安全。
設置:
使用和禁用Cookie
用戶可以改變瀏覽器的設置,以使用或者禁用Cookies。
微軟 Internet Explorer
工具 > Internet選項 > 隱私頁
調節滑塊或者點擊「高級」,進行設置.
4. 關於使用cookie設計購物車
說說我的思路 沒有代碼
我的思路是採用臨時cookie ,未登錄的前提下添加商品,就將該商品代內號保存容到cookie商品的values中去,再買就繼續增加value,未登錄情況查看購物車,伺服器讀取臨時cookie的values,根據商品代號顯示具體信息,登錄後檢查cookie是否為空,將商品保存到資料庫。繼續添加商品就通過session判斷用戶保存到資料庫,用不到cookie了
用戶離開,關閉網站 臨時cookie丟失 B用戶購物不受影響
此時B用戶完成了自己的操作離開,A用戶回來了想繼續完成之前的操作,又該如何解決
如果之前A在未登錄的狀態下,由於cookie數據丟掉,不可能獲取先前的信息了
即便你用cookie用戶名 cookie商品代號 設置期限 B用戶一樣會佔用的 換句話說A回來cookie里的數據也是B的,但是不是說不可實現,只是我的水平不會實現而已!!
5. cookie怎麼實現實現購物車
目前購物車的實現主要是通過cookie、session或結合資料庫的方式。下面分析一下它們的機制及作用。
1. cookie
cookie是由伺服器產生,存儲在客戶端的一段信息。它定義了一種Web伺服器在客戶端存儲和返回信息的機制,cookie文件它包含域、路徑、生存期、和由伺服器設置的變數值等內容。當用戶以後訪問同一個Web伺服器時,瀏覽器會把cookie原樣發送給伺服器。通過讓伺服器讀取原先保存到客戶端的信息,網站能夠為瀏覽者提供一系列的方便,例如在線交易過程中標識用戶身份、安全要求不高的場合避免用戶重復輸入名字和密碼、門戶網站的主頁定製、有針對性地投放廣告等等。利用cookie的特性,大大擴展了WEB應用程序的功能,不僅可以建立伺服器與客戶機的聯系,因為cookie可以由伺服器定製,因此還可以將購物信息生成cookie值存放在客戶端,從而實現購物車的功能。用基於cookie的方式實現伺服器與瀏覽器之間的會話或購物車,有以下特點:
n cookie存儲在客戶端,且佔用很少的資源,瀏覽器允許存放300個cookie,每個cookie的大小為4KB,足以滿足購物車的要求,同時也減輕了伺服器的負荷;
n cookie為瀏覽器所內置,使用方便。即使用戶不小心關閉了瀏覽器窗口,只要在cookie定義的有效期內,購物車中的信息也不會丟失;
n cookie不是可執行文件,所以不會以任何方式執行,因此也不會帶來病毒或攻擊用戶的系統;
n 基於cookie的購物車要求用戶瀏覽器必須支持並設置為啟用cookie,否則購物車則失效;
n 存在著關於cookie侵犯訪問者隱私權的爭論,因此有些用戶會禁止本機的cookie功能。
2. session
session是實現購物車的另一種方法。session提供了可以保存和跟蹤用戶的狀態信息的功能,使當前用戶在session中定義的變數和對象能在頁面之間共享,但是不能為應用中其他用戶所訪問,它與cookie最重大的區別是,session將用戶在會話期間的私有信息存儲在伺服器端,提高了安全性。在伺服器生成session後,客戶端會生成一個sessionid識別號保存在客戶端,以保持和伺服器的同步。這個sessionid是只讀的,如果客戶端禁止cookie功能,session會通過在URL中附加參數,或隱含在表單中提交等其他方式在頁面間傳送。因此利用session實施對用戶的管理則更為安全、有效。
同樣,利用session也能實現購物車,這種方式的特點是:
n session用新的機制保持與客戶端的同步,不依賴於客戶端設置;
n 與cookie相比,session是存儲在伺服器端的信息,因此顯得更為安全,因此可將身份標示,購物等信息存儲在session中;
n session會佔用伺服器資源,加大伺服器端的負載,尤其當並發用戶很多時,會生成大量的session,影響伺服器的性能;
n 因為session存儲的信息更敏感,而且是以文件形式保存在伺服器中,因此仍然存在著安全隱患。
3. 結合資料庫的方式
這也是目前較普遍的模式,在這種方式中,資料庫承擔著存儲購物信息的作用,session或cookie則用來跟蹤用戶。這種方式具有以下特點:
n 資料庫與cookie分別負責記錄數據和維持會話,能發揮各自的優勢,使安全性和伺服器性能都得到了提高;
n 每一個購物的行為,都要直接建立與資料庫的連接,直至對表的操作完成後,連接才釋放。當並發用戶很多時,會影響資料庫的性能,因此,這對資料庫的性能提出了更高的要求;
n 使cookie維持會話有賴客戶端的支持。
各種方式的選擇:
雖然cookie可用來實現購物車,但必須獲得瀏覽器的支持,再加上它是存儲在客戶端的信息,極易被獲取,所以這也限制了它存儲更多,更重要的信息。所以一般cookie只用來維持與伺服器的會話,例如國內最大的當當網路書店就是用cookie保持與客戶的聯系,但是這種方式最大的缺點是如果客戶端不支持 cookie就會使購物車失效。
Session 能很好地與交易雙方保持會話,可以忽視客戶端的設置。在購物車技術中得到了廣泛的應用。但session的文件屬性使其仍然留有安全隱患。
結合資料庫的方式雖然在一定程度上解決了上述的問題,但從上面的例子可以看出:在這種購物流程中涉及到對資料庫表的頻繁操作,尤其是用戶每選購一次商品,都要與資料庫進行連接,當用戶很多的時候就加大了伺服器與資料庫的負荷
這裡面說的確實很詳細
我們公司採用的是資料庫的方式
1、用戶瀏覽系統,獲取用戶機器的MAC地址
2、如果用戶購買物品,添加到資料庫裡面,同時插入機器的MAC地址,也是用戶的ID標示
3、如果用戶登錄系統,用用戶真實的ID,更新當前機器的MAC對應的記錄。
4、如果結帳的話,更新用戶的id,刪除購物車裡面的東西
5、用戶沒有登錄,購物車記錄根據MAC讀取記錄,如果登錄系統根據用戶的ID,讀取記錄
6. java Cookie購物車問題!!
數量和商品編碼以json的格式一起存放在cookie中。 想要方便可以嘗試使用 YUI,裡面有個 subCookie的功能,可以在一個cookie裡面以鍵值對的方式存放數據。
7. 點擊購物車怎麼加到cookie
你說的瀏覽器的cookie?這個你可無法控制哦,只有網站來控制
8. 我是用cookie實現購物車的 為什麼我每次刷新購物車那個界面 購物車里的數量會自動增一.net語言開發的
cookie不好換session吧
肯定要放在伺服器端卅 別人清楚了cookie 他不就沒記錄了啊 你看淘寶 會因為換台電腦之前加入購物車的就沒了嗎
9. java怎麼用cookie寫購物車
處理cookie思路。。
//以用戶的用戶名和密碼創建cokie
CookienameCookie=newCookie("name",java.net.URLEncoder.encode(name.trim(),"utf-8"));
CookiepasswordCookie=newCookie("password",java.net.URLEncoder.encode(password.trim(),"utf-8"));
//設置cookie的實效時間
nameCookie.setMaxAge(7*24*60*60);
passwordCookie.setMaxAge(7*24*60*60);
//設置Cookie的父路徑
nameCookie.setPath(request.getContextPath()+"/");
passwordCookie.setPath(request.getContextPath()+"/");
//放入Cookie到響應頭
HttpServletResponseresponse=ServletActionContext.getResponse();
response.addCookie(nameCookie);
response.addCookie(passwordCookie);
10. 請教大師們,一般購物車用Session還是cookie合適
Session,Session是購物車的技術典範