摘要:簡(jiǎn)介幾種常用屬性屬性值是類型,表示是否禁止客戶端,也就是網(wǎng)頁(yè)中使用操作默認(rèn)在瀏覽器中的可以通過(guò)查看對(duì)應(yīng)每一行后面的一欄是否被勾選來(lái)判斷,若被勾選,表示當(dāng)前,不能通過(guò)獲取。
Cookie 簡(jiǎn)介
幾種常用屬性
httpOnly:屬性值是boolean類型,表示是否禁止客戶端,也就是網(wǎng)頁(yè)中使用js 操作cookie,默認(rèn)false,在瀏覽器中的可以
通過(guò)查看對(duì)應(yīng)每一行cookie后面的HTTP一欄是否被勾選來(lái)判斷,若被勾選,表示當(dāng)前cookie,不能通過(guò)
document.cookie 獲取。很多情況下獲取不到cookie 都是因?yàn)檫@個(gè)屬性導(dǎo)致的
構(gòu)成:name(名)和value(值),都必須被URL編碼。例如比較簡(jiǎn)單的設(shè)置:
document.cookie = encodeURIComponent("name")+"="+encodeURIComponent("Nicholas")+";domain = .wrox.com;path=/";
可以設(shè)置多個(gè)web服務(wù)器共享 , domain 默認(rèn)是創(chuàng)建cookie 的網(wǎng)頁(yè)所在服務(wù)器。所以在試圖刪除非當(dāng)前域名,比如:當(dāng)前域名是 www.abc.com, 想要?jiǎng)h除domain是頂級(jí)域名,也就是domain = abc.com 的cookie,就必須在刪除對(duì)應(yīng)cookie時(shí),設(shè)置對(duì)應(yīng)的domain,否則就無(wú)法刪除(刪除方法,一般都是 設(shè)置 cookie 對(duì)應(yīng)的expires 為 new Date() 或者 之前的任意時(shí)間)
path屬性默認(rèn)路徑會(huì)設(shè)置成“/”,指定與cookie 關(guān)聯(lián)在一起的網(wǎng)頁(yè),例如,你可以指定cookie只能從
http://www.abc.com/123 才能訪問(wèn),那么在http://ww.abc.com 的頁(yè)面就不會(huì)發(fā)送cookie 信息。
**
secure屬性:默認(rèn)是沒(méi)有設(shè)置,指定后,cookie 只有在使用了SSL連接的時(shí)候才會(huì)發(fā)送到服務(wù)器。
expiress屬性:表示cookie何時(shí)應(yīng)該被刪除的時(shí)間戳,默認(rèn)情況下,瀏覽器會(huì)話結(jié)束后即將所有的cookie刪除,對(duì)應(yīng)的expiress 對(duì)
應(yīng)的值就是session,會(huì)話時(shí)間。GMT格式的日期(Wdy,DD-Mon-YYYY HH:MM:SS GMT)。
最后附帶cookie 的簡(jiǎn)單封裝,更加全面的解釋可以查看《高程3》 第23章 離線應(yīng)用于客戶端存儲(chǔ)中的cookie 部分
export default { "get": function(cookie_name) { if (!cookie_name || cookie_name == "") { return null; } var reg = new RegExp("(^| )" + cookie_name + "=([^;]*)(;|$)"); var arr = document.cookie.match(reg); if (arr) { return unescape(arr[2]); } else { return null; } }, "set": function(cookie_name, cookie_val, time) { time = time || this.duration; if (!cookie_name || cookie_name == "") { return; } var cookie_str = cookie_name + "=" + escape(cookie_val) + ";"; if (time > 0) { var date = new Date(); date.setTime(date.getTime() + time); cookie_str += "expires=" + date.toGMTString()+";"; console.log(date.toGMTString()); } cookie_str += "path=/;"; document.cookie = cookie_str; }, "delete": function(cookie_name,domain) { if (!cookie_name || cookie_name == "") { return; } var date = new Date(0); // date.getDate(date.getDate() - 10000); if(domain === undefined) { document.cookie = cookie_name + "=; expires=" + date.toUTCString()+ ";path=/;"; }else { document.cookie = cookie_name + "=; expires=" + date.toUTCString()+ ";path=/;domain=" + domain+";"; } } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/87242.html
摘要:服務(wù)端設(shè)置好后,將會(huì)通過(guò)響應(yīng)頭返回給瀏覽器。注意是在中發(fā)送的,所以之前不能有任何輸出。數(shù)據(jù)存儲(chǔ)在客戶端,容易被攔截篡改,不安全。數(shù)據(jù)存放在服務(wù)端,安全。當(dāng)落入第三者時(shí),服務(wù)端將無(wú)法分辨出是否是合法的請(qǐng)求。 Cookie 起源 當(dāng)初 W3C 在設(shè)計(jì) Cookie 時(shí)實(shí)際上考慮的是為了記錄用戶在一段時(shí)間內(nèi)訪問(wèn) Web 應(yīng)用的行為路徑。 由于HTTP 協(xié)議是一種無(wú)狀態(tài)協(xié)議,當(dāng)用戶的一次訪問(wèn)...
摘要:前端存儲(chǔ)簡(jiǎn)介一種在前端保存數(shù)據(jù)的思想。為了保證前端性能,一般不會(huì)保存大量數(shù)據(jù)。在手動(dòng)刪除前一直存在關(guān)閉當(dāng)前頁(yè)面后被清除可存放大小與服務(wù)器通信每次都在頭部信息中。 前端存儲(chǔ) 簡(jiǎn)介 一種在前端保存數(shù)據(jù)的思想。第一次在頁(yè)面中的保存數(shù)據(jù),那么從第二次開(kāi)始就可以使用了??梢允褂玫姆椒ㄓ校? cookie localeStorage sessionStorage ie的userData web s...
摘要:前端存儲(chǔ)簡(jiǎn)介一種在前端保存數(shù)據(jù)的思想。為了保證前端性能,一般不會(huì)保存大量數(shù)據(jù)。在手動(dòng)刪除前一直存在關(guān)閉當(dāng)前頁(yè)面后被清除可存放大小與服務(wù)器通信每次都在頭部信息中。 前端存儲(chǔ) 簡(jiǎn)介 一種在前端保存數(shù)據(jù)的思想。第一次在頁(yè)面中的保存數(shù)據(jù),那么從第二次開(kāi)始就可以使用了??梢允褂玫姆椒ㄓ校? cookie localeStorage sessionStorage ie的userData web s...
摘要:我們?cè)谶@個(gè)類中的方法看到如下代碼,一個(gè)典型的過(guò)濾器,在這個(gè)中獲取的方法是。,整個(gè)初始化的過(guò)程總結(jié)下巧妙的使用了面向?qū)ο蟮慕涌诜绞剑瑸槲覀兲峁┝烁鞣N各樣不同的存儲(chǔ)方式,一旦我們了解了存儲(chǔ)方式和加密規(guī)則,讓不同的容器進(jìn)行共享的目的也可以達(dá)到 前些天,為了解答一個(gè)問(wèn)題,就去研究了Laravel的源碼,講講我的收獲:這個(gè)是問(wèn)題源:http://segmentfault.com/q/101000...
閱讀 2462·2021-10-08 10:17
閱讀 1838·2021-09-06 15:02
閱讀 2552·2019-08-29 17:30
閱讀 2676·2019-08-29 13:24
閱讀 1535·2019-08-29 11:12
閱讀 3349·2019-08-28 17:52
閱讀 676·2019-08-26 11:30
閱讀 3586·2019-08-26 11:01