Cookies 和 Session的詳解及區別

2022-09-26 21:57:16 字數 2177 閱讀 5476

cookies 和 session的詳解及區別

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

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

注:為這個使用者建立的cookie的名稱ooezfblw是aspsessionid。這個cookie的唯一目的就是為每乙個使用者提供不同的身份認證。

session 從字面上講,就是會話。這個就類似於你和乙個人交談,你怎麼知道當前和你交談的是張三而不是李四呢?對方肯定有某種特徵(長相等)表明他就是張三。session 也是類似的道理,伺服器要知道當前發請求給自己的是誰。為了做這種區分,伺服器就要給每個客戶端分配不同的「身份標識」,然後客戶端每次向伺服器發請求的時候,都帶上這個「身份標識」,伺服器就知道這個請求來自於誰了。至於客戶端怎麼儲存這個「身份標識」,可以有很多種方式,對於瀏覽器客戶端,大家都預設採用 cookie 的方式。

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

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

簡單的說,當你登入乙個**的時候:

如果web伺服器端使用的是session,那麼所有的資料都儲存在伺服器上,

客戶端每次請求伺服器的時候會傳送當前會話的sessionid,伺服器根據當前sessionid判斷相應的使用者資料標誌

,以確定使用者是否登入或具有某種許可權。由於資料是儲存在伺服器上面,所以你不能偽造,

但是如果你能夠獲取某個登入使用者的sessionid,用特殊的瀏覽器偽造該使用者的請求也是能夠成功的。

sessionid是伺服器和客戶端鏈結時候隨機分配的,一般來說是不會有重複,但如果有大量的併發請求,

程式設計客棧也不是沒有重複的可能性.

如果瀏覽器使用的是cookie,那麼所有的資料都儲存在瀏覽器端,比如你登入以後,

伺服器設定了cookie使用者名稱,那麼當你再次請求伺服器的時候,瀏覽器會將使用者名稱一塊傳送給伺服器,

這些變數有一定的特殊標記。伺服器會解釋為cookie變數,所以只要不關閉瀏覽器,那麼cookie變數一直是有效的,

所以能夠保證長時間不掉線。如果你能夠截獲某個使用者的cookie變數,然後偽造乙個資料報傳送過去,

那麼伺服器還是認為你是合法的。所以,使用cookie被攻擊的可能性比較大。如果設定了的有效時間,

那麼它會將cookie儲存在客戶端的硬碟上,下次再訪問該**的時候,瀏覽器先檢查有沒有 cookie,

如果有的話,就讀取該cookie,然後傳送給伺服器。如果你在機器上面儲存了某個論壇 cookie,

有效期是一年,如果有人入侵你的機器,將你的cookie拷走,然後放在他的瀏覽器的目錄下面,

那麼他登入該**的時候就是用你的的身份登入的。所以cookie是可以偽造的。當然,偽造的時候需要注意,

直接copy cookie檔案到cookie目錄,瀏覽器是不認的,他有乙個index.dat檔案,儲存了cookie檔案的建立時間,

以及是否有修改,所以你必須先要有該**的 cookie檔案,並且要從有效時間上騙過瀏覽器。

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

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

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

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

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

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

本文標題: cookies 和 session的詳解及區別

本文位址: /ruanjian/j**a/188219.html

Cookies 和 Session的區別

1.cookie 是一種傳送到 客戶瀏覽器的文字串控制代碼,並儲存在客戶機硬碟上,可以用來在某個web站點會話間持久的保持資料。2.session 其實指的就是訪問者從到達某個特定主頁到離開為止的那段時間。session其實是利用cookie進行資訊處理的,當使用者首先進行了請求後,服務端就在使用者...

Cookies 和 Session的區別

1.cookie 是一種傳送到客戶瀏覽器的文字串控制代碼,並儲存在客戶機硬碟上,可以用來在某個web站點會話間持久的保持資料。2.session其實指的就是訪問者從到達某個特定主頁到離開為止的那段時間。session其實是利用cookie進行資訊處理的,當使用者首先進行了請求後,服務端就在使用者瀏覽...

Cookies 和 Session的區別

1.cookie 是一種傳送到客戶瀏覽器的文字串控制代碼,並儲存在客戶機硬碟上,可以用來在某個web站點會話間持久的保持資料。2.session其實指的就是訪問者從到達某個特定主頁到離開為止的那段時間。session其實是利用cookie進行資訊處理的,當使用者首先進行了請求後,服務端就在使用者瀏覽...