web安全——cookie的簡介,cookie的儲存和獲取

這篇文章寫的是關於cookie的儲存和獲取,小白們可以看一看看,大佬飄過~

首先,我們既然說到cookie的儲存和獲取,我們就要明確什麼是cookie?

Cookie說白了就是儲存在使用者本地終端上的資料,指的是某些網站為了辨別使用者身份、進行 session 跟蹤而儲存在使用者本地終端上的資料,通常會經過加密。也可以叫做瀏覽器快取。

Cookie 主要是在 HTTP 協議下,伺服器或指令碼可以維護客戶工作站上資訊的一種方式。

Cookie大概就是這樣的一個意思,相信大家瞭解了什麼是cookie之後,現在讓我們進入今天我們的主要內容:cookie的獲取和儲存。

web安全——cookie的簡介,cookie的儲存和獲取

在做使用者登入的時候經常會用到cookie,那麼如何將使用者名稱和密碼儲存在cookie中呢?那麼有如何獲取cookie中的資料呢,接下來我來給大家詳細講解。

1。 利用jQuery。cookie。js儲存資料。

在頁面中引入jQuery。cookie。js,如果在你開啟的頁面中有“記住密碼”這個單選框,判斷checked是否為true。如果“是”,獲取使用者名稱和密碼的值,$。cookie(id,對應id儲存的值,{expires: 儲存的期限})

if($(“#rememberme”)。prop(“checked”) == true) {

var userName = $(“#user”)。val();

var passWord = $(“#psw”)。val();

$。cookie(“rememberme”, “true”, {expires: 7}); // 儲存一個帶7天期限的 cookie

$。cookie(“user”, userName, {expires: 7}); $。cookie(“psw”, passWord, {expires: 7});

如果沒有勾選“記住密碼”,設定儲存期限為-1即可。這樣提交之後cookie就會儲存你的資料了。

可以開啟控制檯,選中Application>Storage>Cookie之中進行檢視。

web安全——cookie的簡介,cookie的儲存和獲取

2。 如何獲取cookie中的資料?

方法:$。cookie(name)

舉例:$。cookie(‘rememberme’),$。cookie(‘user’),$。cookie(‘password’)

如果說cookie設定的期限還沒有過,我們就需要將cookie中的資料顯示到頁面上,先判斷cookie中的rememberme是否為true,如果是true,將cookie中的值賦給對應的文字框,勾選“記住密碼”單選框。

if($。cookie(‘rememberme’)===‘true’){

$(“#user”)。val($。cookie(‘user’));

$(“#psw”)。val($。cookie(‘psw’)); 4 $(“#rememberme”)。prop(‘checked’,true);

}

以上就是我們今天所講的到的內容,對於cookie的獲取和儲存。

儘管cookie沒有病毒那麼危險,但是呢,它仍包含了一些敏感資訊:使用者名稱,計算機名,使用的瀏覽器和曾經訪問的網站。使用者不希望這些內容洩漏出去,尤其是當其中還包含有私人資訊的時候。

這其實不是危言聳聽,一種名為跨站指令碼攻擊(Cross site scripting)就可以達到此目的。通常跨站指令碼攻擊往往就是利用網站漏洞在網站頁面中植入指令碼程式碼或網站頁面引用第三方法指令碼程式碼,均存在跨站指令碼攻擊的可能,在受到跨站指令碼攻擊時,指令碼指令將會讀取當前站點的所有 Cookie 內容(這個時候已不存在 Cookie 作用域限制),然後透過某種方式將 Cookie 內容提交到指定的伺服器(如:AJAX)。一旦 Cookie 落入攻擊者手中,它將會重現其價值。

web安全——cookie的簡介,cookie的儲存和獲取

建議開發人員在向客戶端 Cookie 輸出敏感的內容時(比如:該內容能識別使用者身份):

1)設定該 Cookie 不能被指令碼讀取,這樣在一定程度上解決上述問題。

2)對 Cookie 內容進行加密,在加密前嵌入時間戳,保證每次加密後的密文都不一樣(並且可以防止訊息重放)。

3)客戶端請求時,每次或定時更新 Cookie 內容(即:基於第2小條,重新加密)

4)每次向 Cookie 寫入時間戳,資料庫需要記錄最後一次時間戳(防止 Cookie 篡改,或重放攻擊)。

5)客戶端提交 Cookie 時,先解密然後校驗時間戳,時間戳若是小於資料資料庫中記錄,即意味發生攻擊。

基於上述建議,即使 Cookie 被竊取,卻因 Cookie 被隨機更新,且內容無規律性,攻擊者無法加以利用。另外利用了時間戳另外一大好處就是防止 Cookie 篡改或重放。

Cookie 竊取:蒐集使用者cookie併發給攻擊者的駭客。攻擊者將利用cookie資訊透過合法手段進入使用者賬戶。

Cookie 篡改:利用安全機制,攻擊者加入程式碼從而改寫 Cookie 內容,以便持續攻擊。

關於cookie的危害暫時就先講到這裡,我們下次再見~

投稿:暗盾安全,殤宇