摘要:通過加密和安全傳輸技術,減少被破解的可能性。只在中存放不敏感數據,即使被盜也不會有重大損失。限制每個與最多個和對于每個域的數量限制沒有硬性規定。安全性文件中可能含有涉密信息,可能會導致信息泄露。
一、 什么是cookie
A cookie is a small stub of information left by a website on a visitor"s computer through the web browser.
HTTP cookie,通常稱為cookie,用于在客戶端存儲會話信息。
二、 cookie的構成一般有以下幾部分組成
set cookie: name=value; domain=.mozilla.org; expires=Feb, 13-Mar-2018 11:47:50; path=/; secure
名稱:一個唯一確定cookie的名稱,部分大小寫,cookie的名字必須是經過URL編碼的,一般可以采用某個前綴在加上當前時間的做法,這樣的話名稱能夠確保是唯一的,也比較方便。
值:存儲在cookie中的字符串值,必須經過被URL編碼
域:對于哪個域是有效的,如果沒有設置的話,默認來自設置cookie的那個域,在上訴例子中就是.Mozilla.org
失效時間:表示cookie何時應該被刪除的時間戳,這個日期是GMT格式的日期,如果設置是以前的時間,cookie會被立刻刪除。上訴cookie的失效時間是Feb,13-Mar-2018 11:47:50。
路徑:指定域中的那個路徑,應該想服務器發送cookie,/ 表示沒有限制
安全標志:指定以后,cookie只有在使用SSL連接的時候才可以發送到服務器。
function setCookie(name,value,expiredate,domain,path,secure){ var cookieText=escape(name)+"="+escape(value); if(expiredate){ var exdate=new Date(); exdate.setDate(exdate.getDate()+expiredate); cookieText+=";expires="+exdate.toGMTString(); } if(domain){ cookieText+=";domain="+domain; } if(path){ cookieText+=";path="+path; } if(secure){ cookieText+=";secure"; } document.cookie=cookieText; }
把這六個參數傳入進去,或者傳入幾個參數就可以了,必須傳入的參數為name和value。
調用的方式可以如下:
setCookie("my","hello world","January 1,2017");2.cookie的查詢
function getCookie(name){ var cookieName=encodeURIComponent(name)+"=", cookieStart=document.cookie.indexOf(cookieName), cookieValue=null; if(cookieStart>-1){ var cookieEnd=document.cookie.indexOf(";",cookieStart); if(cookieEnd==-1){ cookieEnd=document.cookie.Length; } cookieValue=decodeURIComponent(document.cookie.substring(cookieStart+document.cookie.length,cookieEnd)); } return cookieValue; }
主要的思路是通過找到字符串的開頭和結尾,然后通過substring()函數把value值提取出來。
3.cookie的刪除function deCookie(name,value,expiredate,domain,path,secure){ this.setCookie(name,"",new Date(0),domain,path,secure); }
重新定義cookie,把時間調為過去,原先的cookie就會失效,value也被設置為空值,這樣就可以刪除一個cookie。
四、 cookie的應用購物車(網購)
自動登錄(登錄賬號時的自動登錄)
精準廣告
平常瀏覽網頁時有時會推出商品剛好是你最近瀏覽過,買過的類似東西,這些是通過cookie記錄的。
記住登錄狀態
五、cookie優點通過良好的編程,控制保存在cookie中的session對象的大小。
通過加密和安全傳輸技術(SSL),減少cookie被破解的可能性。
只在cookie中存放不敏感數據,即使被盜也不會有重大損失。
控制cookie的生命期,使之不會永遠有效。偷盜者很可能拿到一個過期的cookie。、
不需要服務器資源,直接存儲在本地。
六、cookie缺點 1. 每個域的cookie總數是有限的,不同瀏覽器之間各有不同。IE6以及更低版本限制每個域名最多20個cookie
IE7之后的版本每個域名最多50個。
Firefox限制每個與最多50個cookie
Safari和Chrome對于每個域的cookie數量限制沒有硬性規定。
2.cookie的清理IE和Opera會刪除最近最少使用過的cookie,但是Firefox是隨機決定要清除哪個cookie。
3. cookie大小的限制大多數瀏覽器4096B的長度限制,為了兼容多種瀏覽器,最好將長度限制在4095B以內.
每個domain最多只能有20條cookie。
Cookie文件中可能含有涉密信息,可能會導致信息泄露。
Cookie可以被改寫,欺騙服務程序或者搜集資料從事非法活動。
Document.cookie
《JavaScript高級程序設計》Nicholas C.Zakas著 李松峰 曹力譯
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91646.html
摘要:詳解以及實現一個操作庫在前端有著大量的應用,但有時我們對它還是一知半解。若沒有設置則是當前主機不包括子域名。現在我們來實現一個的操作庫通過設置過期時間來實現刪除,也是必須,因為需要知道作用范圍,沒有設置則會生成一個空的同名屬性。 Cookie 詳解以及實現一個 cookie 操作庫 cookie 在前端有著大量的應用,但有時我們對它還是一知半解。下面來看看它的一些具體的用法 Set-C...
摘要:協議是無狀態的,一旦數據交換完畢,客戶端與服務器端的連接就會關閉,再次交換建立新的連接,也就是說,服務器無法跟蹤會話。而和就是用與解決這種問題。值得一提的是是建立在的基礎上創建的。注意在的文件中,設置了的生命周期最長為分鐘。 在將cookie 和 session 之前需要先理解什么是會話會話: 用戶打開一個瀏覽器,點擊多個超鏈接,訪問多個web資源,然后關閉瀏覽器,整個過程稱為一個...
摘要:例如要想在多個二級域名中共享,需要設置為頂級域名,這樣就可以在所有二級域名里面或者到這個的值了。頂級域名只能獲取到設置為頂級域名的,設置為其他子級域名的無法獲取。 Cookie和Session詳解 Cookie Cookie只存儲在客服端 Cookie是什么:Cookies是web服務器存放在用戶硬盤的一段文本,Cookies允許一個wen站點在用戶的機器存放一些文本的信息,并可以在以...
摘要:什么是用來存儲客戶端的一小段文本是一門客戶端的技術因為是存儲在客戶端瀏覽器中的是為了實現客戶端與服務器端之間的狀態的保持技術,不安全,不要使用存儲敏感信息比如登錄狀態和登錄信息一些敏感的數據應該存儲在服務器端的值從哪里來的當你訪問一個網站這 什么是cookie, 用來存儲客戶端的一小段文本是一門客戶端的技術 因為cookie是存儲在客戶端瀏覽器中的是為了實現 客戶端與服務器端之間的狀態...
摘要:缺點數量和長度受限制,數量部分不同的瀏覽器不一樣,長度是不能超過,否則會被截掉。更容易受到安全攻擊。不會在每個請求中被攜帶。遵循同源政策,保存數據會相對來說安全些。的優缺點基本上和是相同的,同屬于,返回的也都是一個對象。 前言 這些api的發展歷程? 這些api各自的優缺點是什么? 這些api的使用場景? 怎么用就不說了,因為直接看文檔就可以了 參考了很多篇文章,現在把所看的內容總...
閱讀 3759·2021-11-25 09:43
閱讀 2191·2021-11-23 10:13
閱讀 823·2021-11-16 11:44
閱讀 2369·2019-08-29 17:24
閱讀 1384·2019-08-29 17:17
閱讀 3480·2019-08-29 11:30
閱讀 2584·2019-08-26 13:23
閱讀 2345·2019-08-26 12:10