最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

網(wǎng)站登錄持久化Cookie方案

 更新時(shí)間:2014年04月08日 14:17:38   作者:  
持久化登錄 cookies 也就是當(dāng)用戶在登錄框里點(diǎn)擊“記住我的”的按鈕后把 cookies 保存到用戶的瀏覽器上


前提

1. Cookie 是脆弱的。cookie 容易被竊取和受到垮站腳本的攻擊,我們必須接受 cookie 是不安全的。
2. 持久化登錄 cookies 使得它們能通過(guò)網(wǎng)站的認(rèn)證。這跟使用用戶名和密碼登錄是相同的。
3. 能從登錄 cookie 里恢復(fù)密碼的設(shè)計(jì)比不能恢復(fù)更危險(xiǎn)。
4. 把持久化 cookie 跟 ip 綁定起來(lái)大多數(shù)時(shí)候使它們并不持久。
5. 用戶可能希望同時(shí)把 cookie 持久保存在多個(gè)瀏覽器,多臺(tái)機(jī)器上。

方案

首先這個(gè) cookie 由用戶名、分隔符和一個(gè)很大的隨機(jī)數(shù)(128 位是比較理想的可以接受的長(zhǎng)度)組成。服務(wù)器上有一張表保存有這個(gè)隨機(jī)數(shù)和用戶名的關(guān)系,用來(lái)驗(yàn)證 cookie 是否合法。如果 cookie 提供的隨機(jī)數(shù)和用戶名跟表上存的能對(duì)應(yīng)上且未過(guò)期,那么就可以接受用戶的登錄。 表結(jié)構(gòu):

復(fù)制代碼 代碼如下:

id username token  expire_time
1 foo 598433213…..8766688 2012-09-21 00:00:00
2 bar 435435997…..4354564 2012-09-22 11:00:00

某些時(shí)候,一個(gè)用戶名可能對(duì)應(yīng)多個(gè)隨機(jī)數(shù)。另外,雖然不大可能,但即使有兩個(gè)用戶名對(duì)應(yīng)同一個(gè)隨機(jī)數(shù)也沒(méi)什么關(guān)系。

一個(gè)持久化 cookie 被認(rèn)證后,這個(gè)用來(lái)登錄的隨機(jī)數(shù)就失效了,并且需要分配一個(gè)新的 cookie (生成一個(gè)新的隨機(jī)數(shù), 并更新數(shù)據(jù)庫(kù)里的記錄)給用戶。然后用標(biāo)準(zhǔn)的 session 管理機(jī)制來(lái)處理 session 的生命周期,而那個(gè)新設(shè)置的 cookie 直到這次 session 結(jié)束都不會(huì)再被檢查。

服務(wù)器不需要特意防止一個(gè)以前用過(guò)的隨機(jī)數(shù)被重新使用,這個(gè)幾率非常小,即使發(fā)生了也沒(méi)有人會(huì)知道可以利用它。

當(dāng)用戶通過(guò)退出功能退出后,他們當(dāng)前 cookie 里的隨機(jī)數(shù)也就失效了。用戶也應(yīng)該可以選擇清除所有被系統(tǒng)記錄的持久化登錄。

數(shù)據(jù)庫(kù)不定期的清理那些過(guò)期的記錄(類(lèi)似 session 的 gc 機(jī)制)。

下面這些功能不能允許通過(guò) cookie 登錄的用戶使用:

復(fù)制代碼 代碼如下:

* 修改密碼
* 修改用戶郵箱(特別是如果系統(tǒng)的密碼找回機(jī)制是基于郵箱的)
* 任何用戶的敏感信息
* 任何需要支付的功能

最后

如果用戶的登錄 cookie 受到了攻擊,攻擊者就能以這個(gè)用戶的身份來(lái)使用網(wǎng)站的功能。這是使用 cookie 無(wú)法避免的!盡管如此,攻擊者應(yīng)該不能:

復(fù)制代碼 代碼如下:

* 接觸用戶的敏感信息
* 花用戶的錢(qián)
* 重置用戶密碼
* 以用戶的名義阻止用戶接收網(wǎng)站的通知
* 共享偷到的 cookie 給其他人

相關(guān)文章

  • git?stash使用場(chǎng)景及常見(jiàn)方法詳解

    git?stash使用場(chǎng)景及常見(jiàn)方法詳解

    這篇文章主要為大家介紹了git?stash使用場(chǎng)景及常見(jiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • 計(jì)算機(jī)網(wǎng)絡(luò)日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)

    計(jì)算機(jī)網(wǎng)絡(luò)日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)

    下面小編就為大家?guī)?lái)一篇計(jì)算機(jī)網(wǎng)絡(luò)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你
    2021-09-09
  • 關(guān)于rpc長(zhǎng)連接與短連接的思考記錄

    關(guān)于rpc長(zhǎng)連接與短連接的思考記錄

    文章總結(jié)了RPC項(xiàng)目中長(zhǎng)連接和短連接的處理方式,包括RPC和HTTP的長(zhǎng)連接與短連接的區(qū)別、TCP的?;顧C(jī)制、客戶端與服務(wù)器的連接模式及其利弊分析,文章強(qiáng)調(diào)了在實(shí)際應(yīng)用中需要根據(jù)具體情況選擇長(zhǎng)連接還是短連接,并討論了負(fù)載均衡器在RPC中的作用
    2025-01-01
  • git?push指令常見(jiàn)選項(xiàng)和用法詳解

    git?push指令常見(jiàn)選項(xiàng)和用法詳解

    Git中的git?push命令用于將本地倉(cāng)庫(kù)的改動(dòng)推送到遠(yuǎn)程倉(cāng)庫(kù),是協(xié)同開(kāi)發(fā)中的重要工具,在團(tuán)隊(duì)合作中,使用git?push和git?pull可以有效維護(hù)項(xiàng)目同步,避免沖突,推送時(shí)若遇到?jīng)_突需先解決后再進(jìn)行推送,需要的朋友可以參考下
    2024-09-09
  • Sublime?Text?4怎么安裝使用

    Sublime?Text?4怎么安裝使用

    這篇文章主要介紹了Sublime?Text?4怎么安裝使用,下載對(duì)應(yīng)的安裝包,將該exe文件復(fù)制到對(duì)應(yīng)的sublime?text的安裝目錄下(與sublime_text.exe同級(jí)),右鍵管理員運(yùn)行即可,需要的朋友跟隨小編一起看看吧
    2022-01-01
  • 一文掌握git?push命令

    一文掌握git?push命令

    git?push就是將本地的更新推送到遠(yuǎn)程別名,這篇文章主要介紹了git?push命令詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-01-01
  • OpenAI?函數(shù)調(diào)用示例及功能入門(mén)教程

    OpenAI?函數(shù)調(diào)用示例及功能入門(mén)教程

    這篇文章主要為大家介紹了OpenAI?函數(shù)調(diào)用示例及功能入門(mén)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • IDEA使用code?with?me來(lái)進(jìn)行多人遠(yuǎn)程編程的實(shí)現(xiàn)

    IDEA使用code?with?me來(lái)進(jìn)行多人遠(yuǎn)程編程的實(shí)現(xiàn)

    本文主要介紹了IDEA使用code?with?me來(lái)進(jìn)行多人遠(yuǎn)程編程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 回車(chē)和換行有什么區(qū)別?我們平時(shí)按下的Enter鍵是回車(chē)還是換行

    回車(chē)和換行有什么區(qū)別?我們平時(shí)按下的Enter鍵是回車(chē)還是換行

    如果用過(guò)機(jī)械打字機(jī),就知道回車(chē)和換行的區(qū)別了。換行就是把滾筒卷一格,不改變水平位置?;剀?chē)就是把水平位置復(fù)位,不卷動(dòng)滾筒
    2011-03-03
  • Wireshark TS FTP 傳輸失敗問(wèn)題解決

    Wireshark TS FTP 傳輸失敗問(wèn)題解決

    這篇文章主要為大家介紹了Wireshark TS FTP 傳輸失敗問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評(píng)論

金寨县| 饶阳县| 乐山市| 萨嘎县| 富裕县| 额敏县| 深州市| 祥云县| 苍南县| 长治市| 光山县| 同心县| 张家界市| 宜城市| 靖宇县| 北海市| 宣武区| 揭东县| 怀柔区| 同江市| 舟山市| 中西区| 瑞昌市| 临猗县| 买车| 南漳县| 安阳县| 达孜县| 黄陵县| 边坝县| 洛川县| 宝兴县| 乐至县| 江山市| 兴和县| 班玛县| 蓬溪县| 巴彦淖尔市| 建平县| 澄迈县| 塔城市|