使用HttpOnly提升Cookie安全性

來源:互聯網
上載者:User

標籤:

Http是無狀態的,http是不會為了下一次串連而維護這次串連所傳輸的資訊的。所以為了在每次會話之間傳遞資訊,就需要用到cookie和session,很多時候都是在cookie中儲存一個sessionID,伺服器來識別該使用者,那麼安全隱患也就引申而出了,只要獲得這個cookie,就可以取得別人的身份,特別是管理員等進階許可權帳號時,危害就大了,而XSS就是在別人的應用程式中惡意執行一段JS以竊取使用者的cookie。

 

在瀏覽器中的document對象中,就儲存了Cookie的資訊,而利用js可以把這裡面的Cookie給取出來,只要得到這個Cookie就可以擁有別人的身份了。

 

 

如何保障我們的Cookie安全呢?Cookie都是通過document對象擷取的,我們如果能讓cookie在瀏覽器中不可見就可以了,那HttpOnly就是在設定cookie時接受這樣一個參數,一旦被設定,在瀏覽器的document對象中就看不到cookie了。而瀏覽器在瀏覽網頁的時候不受任何影響,因為Cookie會被放在瀏覽器頭中發送出去(包括Ajax的時候),應用程式也一般不會在JS裡操作這些敏感Cookie的,對於一些敏感的Cookie我們採用HttpOnly,對於一些需要在應用程式中用JS操作的cookie我們就不予設定,這樣就保障了Cookie資訊的安全也保證了應用。

 

給瀏覽器設定Cookie的頭如下:

 

Set-Cookie: =[; =]
[; expires=][; domain=]
[; path=][; secure][; HttpOnly]

 

如果 Cookie 具有 HttpOnly 特性且不能通過用戶端指令碼訪問,則為 true;否則為 false。預設值為 false。

 

HttpOnly在IE 6以上,Firefox較新版本都得到了比較好的支援,並且在如Hotmail等應用程式裡都有廣泛的使用,並且已經是取得了比較好的安全效果。

 

HttpOnly 主要是為了限制web頁面程式的browser端script程式讀取cookie, 實際是瀏覽器通過協議實現限制的,駭客可不會那麼傻,肯定不會用HTTP協議來讀取cookie,肯定是在socket層面寫抓包程式,相當於寫一個低於IE6版本的應用程式。

所以,HttpOnly並不是萬能的。

 

使用HttpOnly提升Cookie安全性

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.