乙個Cookie實驗引發的血案

2021-06-26 19:26:32 字數 2213 閱讀 5054

問題:

1:cookie 存放在哪兒?客戶端還是伺服器?具體路徑是什麼?以什麼樣的方式儲存?

2:cookie 都儲存了些什麼內容?其格式又如何?

3:cookie 能存放多大的內容?能有多少個cookie?

4:cookie 的執行原理是什麼?它是如何實現c/s互動的?

5:cookie 的安全性如何?

6:cookie 的使用場景?

**很簡單,我一方面設定 cookie ,另一方面讀取 cookie 。

第乙個迴圈,旨在測試 cookie 的鍵值對里,值的長度。

第二個迴圈,旨在測試可以設定多少個 cookie 。

第三個迴圈,旨在擦看 cookie 的值。

現在解答下上面的問題:

1: cookie 存放在客戶端。以 txt 檔案的形式儲存。對於不同的os和瀏覽器,其儲存的路徑可能有所不同。在此給出檢視方式:【windows7,ie11和chrome38】

chrome:更多工具 --- 清除瀏覽資料 --- 內容設定 --- 所有 cookie 和**資料。

檔名: cookie :使用本機的使用者名稱@網域名稱的形式。如:cookie:administrator@localhost/

2: cookie 以鍵值對的形式,儲存了在伺服器指定的用於互動的資料。形式:

ie中的情況:

第一行是鍵名,第二行是值,第三行是網域名稱。第四行是個狀態碼,下面是些建立時間和過期時間。

chrome中的情況更為簡單:

至於,建立時間和過期時間,在php中可以指定,此處不再說明。

3: cookie 能放多大內容?

根據第乙個迴圈的測試,大概能設定4096個字元,也就是4kb,其中包含 cookie 檔案中鍵名,網域名稱,狀態碼,時間等資訊。據測試,在 cookie 的值部分,能接受4000的字元所有的字串。

cookie  能有多少個?

根據第二個迴圈,在設定256個具有4000字串的值的 cookie 是允許的。很可能,系統並沒有限制某個網域名稱下 cookie 檔案的個數問題。

4: cookie 的執行原理:

每乙個 cookie 都有乙個網域名稱【這裡是一級網域名稱,也可能是二級網域名稱】,當我們訪問此網域名稱下的 url 時,在http的請求資料報中,則會將此網域名稱的所有 cookie 檔案資料附加上,類似於post資料,會被php接受到$_cookie陣列中。

很明顯,使用的協議依舊是http協議。

【此處另支出,當乙個網域名稱下的cookie檔案過多,或者檔案中的值資料太大,具體多少不清楚,會造成,傳送的http請求需要攜帶大量的cookie資料,造成伺服器無法解析。此種情況好像並不只是影響本次請求,甚至發生錯誤後造成瀏覽器無法正常使用。即使結束本次回話依舊無法使用,只能重啟。。。話說,寫到這裡,我已經重啟了5次,還好csdn自動儲存,不至於損失過大。。。】

5:安全性:

很顯然,cookie檔案儲存到裡瀏覽器,並非在伺服器端,並不是絕對安全的。當然,重要的資料,我們也不會以cookie的形式儲存。

6:使用場景:

舉例:記住登陸,上次瀏覽記錄,購物車等等,處理一些安全性不太高的業務邏輯時,cookie也是十分好用的。



乙個memset引發的血案

前幾天做了一道bst題,提交了幾次都是wa,今天抽空拿了出來仔細瞧瞧總算被我發現禍頭根源.總結原因還在於自己對memset不太了解,以前用對估計也是瞎貓撞見死耗子 memset的介紹 void memset void buffer,int ch,size t count buffer 指向某段記憶體...

乙個分號引發的「血案」

再多的表情也無法詮釋我現在的心情!a b for matrices 這是很水的一道題,然而卻整整折騰了我2個多小時。從晚上6點多開始,花了沒幾分鐘就把 敲好了,可是資料一測,竟然不對,然後就開始找問題,找了很久,我竟然都還沒看出問題在哪,越找心裡越不爽,這麼做明明對的呀,一執行怎麼就錯了呢?一直到了...

乙個strlen引發的血案

部分測試 原來是這樣的 int decryptrelation aesdecryptfromfiletobytes const std string in file path,unsigned char out data,const char aes encrypt key,int in data ...