cookie檢視和操作

2021-09-25 11:24:21 字數 2381 閱讀 2671

問題

之前面試的時候問到,cookie有哪些屬性, 怎麼刪除乙個cookie, 答的吞吞吐吐, 整理一下

cookie檢視

以github為例:

cookie的字段

name

cookie的名字,乙個網域名稱下繫結的cookie,name不能相同,相同的name的值會被覆蓋掉(但是name 相同,只要 cookie 的 domain ,path , secure 有一項不同,就是不同的 cookie)

value

表示cookie的值,cookie的值要被編碼, 但不是必須的。 cookie規定是名稱/值是不允許包含分號,逗號,空格的,為了不給使用者到來麻煩,考慮伺服器的相容性,cookie的資料都最好編碼。

// 例如 tz 設定為 廣東;shenzhen, 有中文也有分號, 就需要編碼

document.cookie=

`tz=$`

console.

log(document.cookie)

// tz=%e5%b9%bf%e4%b8%9c%3bshenzhen

console.

log(

decodeuricomponent

(document.cookie)

)// tz=廣東;shenzhen

domaincookie繫結的網域名稱,如果沒有設定,就會自動繫結到執行語句的當前域,cookie有跨域的限制, 但不會判斷埠名

path

path這個屬性預設是』/』,這個值匹配的是web的路由,舉個例子:

//預設路徑

//blog路徑

www.baidu.com/blog //當路徑設定成/blog的時候,其實它會給/blog、/blogabc等等的繫結cookie

expires/max-age預設情況下, 設定的cookie的expires/max-agesession, 也就是關閉瀏覽器後,該cookie會被刪除

如果想要cookie存在一段時間,那麼你可以通過設定expires屬性為未來的乙個時間節點(gmt時間)

document.cookie=

`mycookie=gg;expires=$`

但這個屬性已經逐漸被 max-age 取代;max-age,是以秒為單位,max-age為正數時,cookie會在max-age秒之後,被刪除,當max-age為負數時,表示的是臨時儲存,不會生出cookie檔案,只會存在瀏覽器記憶體中,且只會在開啟的瀏覽器視窗或者子視窗有效,一旦瀏覽器關閉,cookie就會消失,當max-age為0時,又會發生什麼呢,刪除cookie,因為cookie機制本身沒有設定刪除cookie,失效的cookie會被瀏覽器自動從記憶體中刪除,所以,它實現的就是讓cookie失效。

利用過期時間可以用來刪除cookie:

// 把expires時間設定為過去的時間

let date =

newdate()

let sec = date.

gettime()

date.

settime

(sec -1)

document.cookie=

`mycookie=;expires=$;`

// 或者把 max-age 設定為0或負數

document.cookie=

`mycookie=;max-age=0;`

secure當這個屬性設定為true時,此cookie只會在https和ssl等安全協議下傳輸

這個屬性設定為true,就不能通過js指令碼來獲取cookie的值,能有效的防止xss攻擊(也就是使用者通過xss輸入的惡意**不能獲取到cookie), 以上圖為例,_gh_sess,logged_in通過document.cookie是獲取不到的, 另外, document.cookie只能拿到非httponly的鍵值

上述屬性,除了name,value,其他可以設定值(指通過js)(httponly不行), 但取不到值

Cookie程式設計基礎 檢視Cookie

cookie程式設計基礎 檢視cookie 提要 介紹 internet explorer 是如何儲存 cookie 的。如果您使用的是其他瀏覽器,請檢視該瀏覽器的幫助,以了解有關 cookie 處理方面的知識。檢視cookie 您可能會發現,了解建立 cookie 的效果會對您很有幫助。而檢視 c...

cookie的設定及檢視

一 選擇 選項 隱私 刪除個人cookie 可以檢視到所有cookie,如果移除所有cookie,則firebug中cookie所有資訊也將消失。二 在firebug中選擇一條cookie,右鍵點 編輯 將過期日期的 會話 前的勾去掉,則可以在 c users administrator cooki...

十六 cookie操作

有時候我們需要驗證瀏覽器中cookie是否正確,因為基於真實cookie的測試是無法通過白盒和整合測試進行的。webdriver提供了操作cookie的相關方法,可以讀取 新增和刪除cookie資訊。webdriver操作cookie的方法 下面通過get cookies 來獲取當前瀏覽器的cook...