1樓:
我不喜抄,直接說區別吧!
cookie用於互動時存放在客戶端,即使用你臨時資料夾中不存在cookie,但在你的瀏覽器程序中會臨時儲存你的cookie!session是互動時存放在服務端,即使用不儲存,也在服務程序中。
如果你對網頁有互動,伺服器如何在眾多請求中能識別你那是曾經的哪一個?這依賴於你傳遞上來的cookie,即合沒有任何其他的的互動,在你瀏覽器程序中也必須儲存諸如sessionid之類的cookie!但這個是臨時的,只是為了識別你到底是誰而已。
知道了你是誰,伺服器還需要知道該怎麼做,那麼在伺服器程序中必須存在一個sessionid,這個與你請求的相對應,然後根據這個才知道你是誰,該怎麼做。
sessionid是你初次請求時由系統生成,隨網頁流儲存在你的瀏覽器程序中,以便你在使用postback等回傳功能時能識別你!要不然,你回傳了,另外一個請求卻得到你的回傳反應,這有點說不過去吧?
sessionid相當於瀏覽器與服務程序進行了一個簡單的約定,可以理解為初次伺服器發給你的一個通行號碼,以後你與伺服器的任何互動都依賴於這個號碼!
而其他的需要長期儲存的一些資訊也在cookie中,如使用者名稱與密碼等等,與這個通訊的結果是相同的。也就是說cookie與session同時存在,分別在客戶端與伺服器!
如果你通過網路嗅探或是其他方式,得到了某一個瀏覽器正在互動的sessionid以及一些程序中儲存的session資訊,這個資訊在客戶端稱cookie,這伺服器稱session。那麼你可以利用這些資訊進行攻擊。
如,在某臺電腦中儲存有某使用者的user與password通行資訊時,你可以將自己的cookie違裝成目標的cookie,然後可以進行登陸,這種攻擊方式叫cookie攻擊!
如果他的這些資訊儲存在了瀏覽器程序中,也可以偽造,這種其實也是cookie攻擊,但由於其不確定性(你還必須拿到sessionid),這種稱為session攻擊。其實說白了,這種方式在伺服器中直接使用的session[“user"]之類的方式取得的,所以偽造時連同sessionid一塊偽造,所以才被稱為session攻擊的。
由於多標籤瀏覽器的存在,還可以進行網頁交叉攻擊!
cookie與session的優缺比較,麻煩比較詳細點
cookie和session有很多相似的地方,都是用來臨時儲存來訪者資訊,有很多情況下,使用兩者都可以實現某些特定功能,而兩者的根本區別是cookie物件將資訊存放在客戶端,session物件存放在伺服器端 從生存期上講,cookie可以長期儲存,而session的生存期僅僅到會話結束 在asp.n...
如何清空谷歌瀏覽器的快取和cookie
選擇 清除瀏覽資料。選擇選擇快取和cookies,打上勾。最後點選 清除瀏覽資料 按鈕,等待清除完成即可。步驟 1,點選三條橫槓的 自定義並控制 的圖示2,選擇 工具 3,選擇 清除瀏覽資料 4,選擇要清除的選擇,打上勾勾。5,最後點選 清除瀏覽資料 按鈕,等待清除完成即可。開啟谷歌瀏覽器,如果是5...
JSP中,如何從session中取值和存值
session是jsp的內建物件,所以你可以直接寫在jsp的 session.setattribute a b 把b放到session裡,命名為a,string m session.getattribute a tostring 從session裡把a拿出來,並賦值給m jsp頁面 通過el表示式取...