Cookie與自動儲存

2021-08-29 14:24:40 字數 4263 閱讀 3902

cookie與自動儲存

0.相關概念及知識

1.編寫和儲存cookie

2.列舉cookie

3.讀取cookie

4.修改和刪除cookie

5.cookie和安全性

6.設定ie瀏覽器是否接受cookie

0.相關概念及知識

cookie 提供了一種在 web 應用程式中儲存使用者特定資訊的方法。

例如,當使用者訪問您的站點時,

您可以使用 cookie 儲存使用者首選項或其他資訊。

當該使用者再次訪問您的**時,應用程式便可以檢索以前儲存的資訊。

什麼是 cookie?

cookie 是一小段文字資訊,

伴隨著使用者請求和頁面在 web 伺服器和瀏覽器之間傳遞。

cookie 包含每次使用者訪問站點時 web 應用程式都可以讀取的資訊。 

例如,

如果在使用者請求站點中的頁面時應用程式傳送給該使用者的不僅僅是乙個頁面,

還有乙個包含日期和時間的 cookie,

使用者的瀏覽器在獲得頁面的同時還獲得了該 cookie,

並將它儲存在使用者硬碟上的某個資料夾中。

以後,如果該使用者再次請求您站點中的頁面,

當該使用者輸入 url 時,瀏覽器便會在本地硬碟上查詢與該 url 關聯的 cookie。

如果該 cookie 存在,瀏覽器便將該 cookie 與頁請求一起傳送到您的站點。

然後,應用程式便可以確定該使用者上次訪問站點的日期和時間。

您可以使用這些資訊向使用者顯示一條訊息,也可以檢查到期日期。

cookie 與**關聯,而不是與特定的頁面關聯。

因此,無論使用者請求站點中的哪乙個頁面,瀏覽器和伺服器都將交換 cookie 資訊。

使用者訪問不同站點時,各個站點都可能會向使用者的瀏覽器傳送乙個 cookie;

瀏覽器會分別儲存所有 cookie。

使用 cookie 能夠達到多種目的,所有這些目的都是為了幫助**記住使用者。

例如,乙個實施民意測驗的站點可以簡單地將 cookie 作為乙個 boolean 值,

用它來指示使用者的瀏覽器是否已參與了投票,這樣使用者便無法進行第二次投票。

要求使用者登入的站點則可以通過 cookie 來記錄使用者已經登入,

這樣使用者就不必每次都輸入憑據。

cookie 的限制

大多數瀏覽器支援最大為 4096 位元組的 cookie。

由於這限制了 cookie 的大小,最好用 cookie 來儲存少量資料,

或者儲存使用者 id 之類的識別符號。

使用者 id 隨後便可用於標識使用者,以及從資料庫或其他資料來源中讀取使用者資訊。

瀏覽器還限制站點可以在使用者計算機上儲存的 cookie 的數量。

大多數瀏覽器只允許每個站點儲存 20 個 cookie;

如果試圖儲存更多 cookie,則最舊的 cookie 便會被丟棄。

有些瀏覽器還會對它們將接受的來自所有站點的 cookie 總數作出絕對限制,

通常為 300 個。

雖然 cookie 在應用程式中非常有用,但應用程式不應依賴於能夠儲存 cookie。

不要使用 cookie 支援關鍵功能。如果應用程式必須依賴於 cookie,

則可以通過測試確定瀏覽器是否將接受 cookie。

1.編寫和儲存cookie

//儲存使用者名稱和密碼

protected void button1_click(object sender, eventargs e)

2.列舉cookie

//列出相關cookie

protected void button2_click(object sender, eventargs e)}}

4.修改和刪除 cookie

修改cookie

不能直接修改 cookie。

更改 cookie 的過程涉及建立乙個具有新值的新 cookie,

然後將其傳送到瀏覽器來覆蓋客戶端上的舊版本 cookie。

刪除cookie

刪除 cookie(即從使用者的硬碟中物理移除 cookie)是修改 cookie 的一種形式。

由於 cookie 在使用者的計算機中,因此無法將其直接移除。

但是,可以讓瀏覽器來為您刪除 cookie。

該技術是建立乙個與要刪除的 cookie 同名的新 cookie,

並將該 cookie 的到期日期設定為早於當前日期的某個日期。

當瀏覽器檢查 cookie 的到期日期時,瀏覽器便會丟棄這個現已過期的 cookie。

下面的**示例演示刪除應用程式中所有可用 cookie 的一種方法:

修改或刪除子鍵

response.cookies["userinfo"]["lastvisit"] = datetime.now.tostring();

response.cookies["userinfo"].expires = datetime.now.adddays(1);

修改單個子鍵的方法與建立它的方法相同,如下面的示例所示:

若要刪除單個子鍵,可以操作 cookie 的 values 集合,該集合用於儲存子鍵。

首先通過從 cookies 物件中獲取 cookie 來重新建立 cookie。

然後您就可以呼叫 values 集合的 remove 方法,

將要刪除的子鍵的名稱傳遞給 remove 方法。

接著,將 cookie 新增到 cookies 集合,

這樣 cookie 便會以修改後的格式傳送回瀏覽器。

下面的**示例演示如何刪除子鍵。

在此示例中,要移除的子鍵的名稱在變數中指定。

5.cookie和安全性

cookie 的安全性問題與從客戶端獲取資料的安全性問題類似。

在應用程式中,cookie 是另一種形式的使用者輸入,

因此很容易被他們非法獲取和利用。

由於 cookie 儲存在使用者自己的計算機上,

因此,使用者至少能看到您儲存在 cookie 中的資料。

使用者還可以在瀏覽器向您傳送 cookie 之前更改該 cookie。

千萬不要在 cookie 中儲存敏感資訊,如使用者名稱、密碼、信用卡號等等。

不要在 cookie 中放置任何不應由使用者掌握的內容,

也不要放可能被其他竊取 cookie 的人控制的內容。

同樣,不要輕信從 cookie 中得到的資訊。

不要假定資料與您寫出時相同;

處理 cookie 值時採用的安全措施

應該與處理網頁中使用者鍵入的資料時採用的安全措施相同。

本主題前面的示例演示在頁面中顯示值前,

先對 cookie 內容進行 html 編碼的方法,

這與在顯示從使用者處得到的任何資訊之前的做法相同。

cookie 以明文形式在瀏覽器和伺服器間傳送,

任何可以截獲 web 通訊的人都可以讀取 cookie。

可以設定 cookie 屬性,

使 cookie 只能在使用安全套接字層 (ssl) 的連線上傳輸。

ssl 並不能防止儲存在使用者計算機上的 cookie 被讀取或操作,

但可防止 cookie 在傳輸過程中被讀取,

因為 cookie 已被加密。

6.設定ie瀏覽器是否接受cookie

1).啟動ie; 

2).在「工具」選單上,單擊「internet選項」,開啟「internet選項」對話方塊; 

3).單擊「隱私」選項卡,將滑塊上移到更高的隱私級別。

如果移動到最頂端則是選擇「阻止所有的cookie」,

此時系統將阻止所有**的cookie,而且**不能讀取計算機上已有的cookie; 

4).單擊「確定」按鈕。 

Cookie與自動儲存

cookie與自動儲存 0.相關概念及知識 1.編寫和儲存cookie 2.列舉cookie 3.讀取cookie 4.修改和刪除cookie 5.cookie和安全性 6.設定ie瀏覽器是否接受cookie 0.相關概念及知識 cookie 提供了一種在 web 應用程式中儲存使用者特定資訊的方法...

js儲存cookie與讀取cookie

設定cookie param name param value function setcookie name,value path引數巨坑!一般設定之後頁面都可以訪問cookie,否則只能在乙個頁面。功能 獲取cookies函式 引數 cookie name名字 function getcooki...

python介面測試 自動儲存cookies

介面測試中遇到上乙個請求返回響應包含cookie 如下圖登入請求的響應結果 需將cookies儲存下來,後續請求自動帶入,否則會提示未登入 python requests的cookie型別是 檢視cookie型別的方式 在很多時候,傳送請求後,服務端會對傳送請求方進行身份識別,如果請求中缺少識別資訊...