問題
之前面試的時候問到,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-age
為session
, 也就是關閉瀏覽器後,該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...