cookie 和session 的區別詳解

2023-02-14 21:35:14 字數 3619 閱讀 4684

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攻擊的。

由於多標籤瀏覽器的存在,還可以進行網頁交叉攻擊!

詳解php中cookie和session的區別及cookie和session用法小結

2樓:倪珈藍

cokie是儲存到使用者本地的。

session是在伺服器端存放的。

簡述cookies和session的區別

3樓:網友

1、cookie 和session的區別是:cookie資料儲存在客戶端,session資料儲存在伺服器端。

2、兩個都可以用來存私密的東西,同樣也都有有效期的說法,區別在於session是放在伺服器上的,過期與否取決於服務期的設定,cookie是存在客戶端的,過去與否可以在cookie生成的時候設定進去。

(1)、cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上 ;

(2)、cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,如果主要考慮到安全應當使用session ;

(3)、session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能,如果主要考慮到減輕伺服器效能方面,應當使用cookie ;

(4)、單個cookie在客戶端的限制是3k,就是說一個站點在客戶端存放的cookie不能3k;

(5)、所以將登陸資訊等重要資訊存放為session;其他資訊如果需要保留,可以放在cookie中。

3、cookie和session的共同之處在於:cookie和session都是用來跟蹤瀏覽器使用者身份的會話方式。

4、cookie 是一種傳送到客戶瀏覽器的文字串控制代碼,並儲存在客戶機硬碟上,可以用來在某個web站點會話間持久的保持資料。

5、ession其實指的就是訪問者從到達某個特定主頁到離開為止的那段時間。 session其實是利用cookie進行資訊處理的,當使用者首先進行了請求後,服務端就在使用者瀏覽器上建立了一個cookie,當這個session結束時,其實就是意味著這個cookie就過期了。

4樓:豆丁百科

區別:1、資料存放位置不同:

cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上。

2、安全程度不同:

cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙,考慮到安全應當使用session。

3、效能使用程度不同:

session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能,考慮到減輕伺服器效能方面,應當使用cookie。

4、資料儲存大小不同:

單個cookie儲存的資料不能超過4k,很多瀏覽器都限制一個站點最多儲存20個cookie,而session則儲存與服務端,瀏覽器對其沒有限制。

5、會話機制不同。

session會話機制:session會話機制是一種伺服器端機制,它使用類似於雜湊表(可能還有雜湊表)的結構來儲存資訊。

cookies會話機制:cookie是伺服器儲存在本地計算機上的小塊文字,並隨每個請求傳送到同一伺服器。 web伺服器使用http標頭將cookie傳送到客戶端。

在客戶端終端,瀏覽器解析cookie並將其儲存為本地檔案,該檔案自動將來自同一伺服器的任何請求繫結到這些cookie。

5樓:育知同創教育

具體來說cookie機制採用的是在客戶端保持狀態的方案。它是在使用者端的會話狀態的存貯機制,他需要使用者開啟客戶端的cookie支援。cookie的作用就是為了解決http協議無狀態的缺陷所作的努力。

而session機制採用的是一種在客戶端與伺服器之間保持狀態的解決方案。同時我們也看到,由於採用伺服器端保持狀態的方案在客戶端也需要儲存一個標識,所以session機制可能需要藉助於cookie機制來達到儲存標識的目的。而session提供了方便管理全域性變數的方式。

session是針對每一個使用者的,變數的值儲存在伺服器上,用一個sessionid來區分是哪個使用者session變數,這個值是通過使用者的瀏覽器在訪問的時候返回給伺服器,當客戶禁用cookie時,這個值也可能設定為由get來返回給伺服器。

就安全性來說:當你訪問一個使用session 的站點,同時在自己機子上建立一個cookie,建議在伺服器端的session機制更安全些。因為它不會任意讀取客戶儲存的資訊。

正統的cookie分發是通過擴充套件http協議來實現的,伺服器通過在http的響應頭中加上一行特殊的指示以提示瀏覽器按照指示生成相應的cookie

從網路伺服器觀點看所有http請求都獨立於先前請求。就是說每一個http響應完全依賴於相應請求中包含的資訊。

狀態管理機制克服了http的一些限制並允許網路客戶端及伺服器端維護請求間的關係。在這種關係維持的期間叫做會話(session)。

cookies是伺服器在本地機器上儲存的小段文字並隨每一個請求傳送至同一個伺服器。

session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表的結構(也可能就是使用雜湊表)來儲存資訊。

cookie和session的區別及原理

cookie和session的區別

簡述 cookie和session的區別和優缺點

詳細分析session和cookie的區別

session和cookie是什麼?有什麼作用?怎麼用的?php初學者麻煩介紹的詳細一些,謝謝

簡單介紹,不復雜說 共性 都是用來儲存會話的,區別 session 是儲存在伺服器端的,要用程式清除或是過期時間 而cookie是儲存在客戶端的 瀏覽器清除cookie後就不存在了 就是會話,session和cookies都是可以儲存資訊的,session在你關閉瀏覽器後就被銷燬了,cookies也...

PHP中session函式的問題

session start 使用session前必須啟動會話 session views 1 賦予session值 判斷session是否存在 if isset session views else unset 函式用於釋放指定的 session 變數unset session views 也可以通...

ASP中關於session的提示問題

在中我們一般不會把登陸驗證寫在前臺頁面裡,初學者也是把它寫在後臺頁面的page load事件裡,並用ispostback判斷是否是回傳,如果不是則進行登入驗證。而且你的那個set類是做什麼的因為沒用過,也不太清楚,不過一般驗證只是判斷這個session是否為空,如果不為空就說明登入了,因為在每次瀏覽...