cookie和session有什麼區別

時間 2021-12-25 17:51:18

1樓:樓痴香閃半

cookie是個基礎的東西。是伺服器傳送到客戶端,儲存在客戶端的一小段資料。可以儲存一些配置資訊,客戶標識資訊等。

使用者下次訪問這個**時,會把上次**發來的cookie一同傳送回去。

session是伺服器端通過一定的手段,儲存的客戶每次會話的資訊。

2樓:芮琇瑩左東

cookie存在客戶端,session存在伺服器端,cookie也是通過session來生成的

3樓:合祥殷彥君

cookie是在你的電腦上儲存的,session是在伺服器上的.

也就是說你換一個電腦你的cookie就不起作用了,而session只要你的瀏覽器不關就還能訪問到.

通常的都是兩者結合著用的.

cookie的話你自己就可以通過對瀏覽器的設定禁用掉.這樣就不起作用了

簡述cookies和session的區別

4樓:

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就過期了。

5樓:豆丁百科

區別: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。

6樓:匿名使用者

cookie和session都是用來跟蹤瀏覽器使用者身份的會話方式。

cookie與session的區別是, cookie資料儲存在客戶端,session資料儲存在伺服器端。簡單的說,當你登入一個**的時候,如果web伺服器端使用的是session,那麼所有的資料都儲存在伺服器上面,客戶端每次請求伺服器的時候會傳送當前會話的sessionid,伺服器根據當前sessionid判斷相應的使用者資料標誌,以確定使用者是否登入,或具有某種許可權。由於資料是儲存在伺服器上面,所以你不能偽造,但是如果你能夠獲取某個登入使用者的sessionid,用特殊的瀏覽器偽造該使用者的請求也是能夠成功的。

sessionid是伺服器和客戶端連結時候隨機分配的,一般來說是不會有重複,但如果有大量的併發請求,也不是沒有重複的可能性,我曾經就遇到過一次。登入某個**,開始顯示的是自己的資訊,等一段時間超時了,一重新整理,居然顯示了別人的資訊。

如果瀏覽器使用的是 cookie,那麼所有的資料都儲存在瀏覽器端,比如你登入以後,伺服器設定了 cookie使用者名稱(username),那麼,當你再次請求伺服器的時候,瀏覽器會將username一塊傳送給伺服器,這些變數有一定的特殊標記。伺服器會解釋為 cookie變數。所以只要不關閉瀏覽器,那麼 cookie變數便一直是有效的,所以能夠保證長時間不掉線。

如果你能夠截獲某個使用者的 cookie變數,然後偽造一個資料包傳送過去,那麼伺服器還是認為你是合法的。所以,使用 cookie被攻擊的可能性比較大。如果設定了的有效時間,那麼它會將 cookie儲存在客戶端的硬碟上,下次再訪問該**的時候,瀏覽器先檢查有沒有 cookie,如果有的話,就讀取該 cookie,然後傳送給伺服器。

如果你在機器上面儲存了某個論壇 cookie,有效期是一年,如果有人入侵你的機器,將你的 cookie拷走,然後放在他的瀏覽器的目錄下面,那麼他登入該**的時候就是用你的的身份登入的。所以 cookie是可以偽造的。當然,偽造的時候需要主意,直接copy cookie檔案到 cookie目錄,瀏覽器是不認的,他有一個index.

dat檔案,儲存了 cookie檔案的建立時間,以及是否有修改,所以你必須先要有該**的 cookie檔案,並且要從保證時間上騙過瀏覽器,曾經在學校的vbb論壇上面做過試驗,copy別人的 cookie登入,冒用了別人的名義發帖子,完全沒有問題。

更有效的方法就是自己定義一個瀏覽器,我們稱之為黑客瀏覽器,比如我們可以自己改造firefox瀏覽器,可以自定義sessionid,自定義 cookie值,那樣就可以隨心所欲了。網路安全又將面臨嚴峻的挑戰。

兩個都可以用來存私密的東西,同樣也都有有效期的說法。

區別在於。

session是放在伺服器上的,過期與否取決於服務期的設定,cookie是存在客戶端的,過去與否可以在cookie生成的時候設定進去。

1、cookie資料存放在客戶的瀏覽器上,

session資料放在伺服器上

2、cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙

考慮到安全應當使用session

3、session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能

考慮到減輕伺服器效能方面,應當使用cookie

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

5、300個的限制我沒聽說

6、所以個人建議:

將登陸資訊等重要資訊存放為session

其他資訊如果需要保留,可以放在cookie中

cookie 和 session的區別是什麼?

7樓:

我不喜抄,直接說區別吧!

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的區別和優缺點

8樓:易依白

具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。

cookie的優缺點:

優點:極高的擴充套件性和可用性

通過良好的程式設計,控制儲存在cookie中的session物件的大小。

通過加密和安全傳輸技術(ssl),減少cookie被破解的可能性。

只在cookie中存放不敏感資料,即使被盜也不會有重大損失。

控制cookie的生命期,使之不會永遠有效。偷盜者很可能拿到一個過期的cookie。

缺點:cookie數量和長度的限制。每個domain最多只能有20條cookie,每個cookie長度不能超過4kb,否則會被截掉。

安全性問題。如果cookie被人攔截了,那人就可以取得所有的session資訊。即使加密也與事無補,因為攔截者並不需要知道cookie的意義,他只要原樣**cookie就可以達到目的了。

有些狀態不可能儲存在客戶端。例如,為了防止重複提交表單,我們需要在伺服器端儲存一個計數器。如果我們把這個計數器儲存在客戶端,那麼它起不到任何作用。

session的優缺點:

優點如果要在諸多web頁間傳遞一個變數,那麼用session變數要比通過querystring傳遞變數可使問題簡化。

要使web站點具有使用者化,可以考慮使用session變數。你的站點的每位訪問者都有使用者化的經驗,基於此,隨著ldap和諸如ms site

server等的使用,已不必再將所有使用者化過程置入session變數了,而這個使用者化是取決於使用者喜好的。

你可以在任何想要使用的時候直接使用session變數,而不必事先宣告它,這種方式接近於在vb中變數的使用。使用完畢後,也不必考慮將其釋放,因為它將自動釋放。

缺點session變數和cookies是同一型別的。如果某使用者將瀏覽器設定為不相容任何cookie,那麼該使用者就無法使用這個session變數!

當一個使用者訪問某頁面時,每個session變數的執行環境便自動生成,這些session變數可在使用者離開該頁面後仍保留20分鐘!(事實上,這些變數一直可保留至“timeout”。“timeout”的時間長短由web伺服器管理員設定。

一些站點上的變數僅維持了3分鐘,一些則為10分鐘,還有一些則保留至預設值20分鐘。)所以,如果在session中置入了較大的物件(如ado

recordsets,connections, 等等),那就有麻煩了!隨著站點訪問量的增大,伺服器將會因此而無法正常執行!

因為建立session變數有很大的隨意性,可隨時呼叫,不需要開發者做精確地處理,所以,過度使用session變數將會導致**不可讀而且不好維護。

雖然“你可以在任何想要使用的時候直接使用session變數,而不必事先宣告它,這種方式接近於在vb中變數的使用。使用完畢後,也不必考慮將其釋放,因為它將自動釋放”。但是,“誰”想到那兒呢?

變數的含義是什麼?這些都變得不很清晰。

session和cookie的區別和聯絡是什麼

等汪 具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在伺服器端保持狀態的方案。區別 session機制 session機制是一種伺服器端的機制,伺服器使用一種類似於雜湊表的結構 也可能就是使用雜湊表 來儲存資訊。作用 伺服器可以利用cookies或session...

session 和cookie的區別和應用範圍

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

cookie和session的區別是什麼

我不喜抄,直接說區別吧!cookie用於互動時存放在客戶端,即使用你臨時資料夾中不存在cookie,但在你的瀏覽器程序中會臨時儲存你的cookie session是互動時存放在服務端,即使用不儲存,也在服務程序中。如果你對網頁有互動,伺服器如何在眾多請求中能識別你那是曾經的哪一個?這依賴於你傳遞上來...