国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Cookie vs Session:Web開(kāi)發(fā)中的身份驗(yàn)證之爭(zhēng)

這篇具有很好參考價(jià)值的文章主要介紹了Cookie vs Session:Web開(kāi)發(fā)中的身份驗(yàn)證之爭(zhēng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。



前言

本博主將用CSDN記錄軟件開(kāi)發(fā)求學(xué)之路上親身所得與所學(xué)的心得與知識(shí),有興趣的小伙伴可以關(guān)注博主!也許一個(gè)人獨(dú)行,可以走的很快,但是一群人結(jié)伴而行,才能走的更遠(yuǎn)!

一、概述

當(dāng)涉及到Web開(kāi)發(fā)和用戶身份驗(yàn)證時(shí),Cookie和Session是兩個(gè)常見(jiàn)的概念。它們?cè)诖鎯?chǔ)和管理用戶狀態(tài)方面起著重要作用。、

二、Cookie和Session的區(qū)別與聯(lián)系

Cookie和Session是Web開(kāi)發(fā)中常用的機(jī)制,用于存儲(chǔ)和管理用戶的身份驗(yàn)證和狀態(tài)信息。它們之間的主要區(qū)別如下:

  1. 存儲(chǔ)位置:

    • Cookie:Cookie是存儲(chǔ)在用戶的瀏覽器中的小段數(shù)據(jù)。每個(gè)Cookie都有一個(gè)名稱和值,并且由服務(wù)器發(fā)送給瀏覽器,在用戶的每個(gè)請(qǐng)求中被瀏覽器自動(dòng)包含在HTTP頭中。
    • Session:Session是存儲(chǔ)在服務(wù)器端的數(shù)據(jù)結(jié)構(gòu)。服務(wù)器為每個(gè)用戶創(chuàng)建一個(gè)唯一的會(huì)話,并將會(huì)話ID存儲(chǔ)在Cookie中或通過(guò)URL參數(shù)傳遞給客戶端。會(huì)話數(shù)據(jù)存儲(chǔ)在服務(wù)器的內(nèi)存或持久化存儲(chǔ)中。
  2. 存儲(chǔ)容量:

    • Cookie:每個(gè)域名下的Cookie數(shù)量和總大小都是有限制的。通常,每個(gè)域名最多可以存儲(chǔ)幾十個(gè)Cookie,每個(gè)Cookie的大小不能超過(guò)幾KB。
    • Session:在服務(wù)器端存儲(chǔ)Session數(shù)據(jù)的容量通常較大,可以存儲(chǔ)更多的信息,受服務(wù)器資源和配置的限制。
  3. 安全性:

    • Cookie:Cookie可以設(shè)置安全標(biāo)志(secure flag)和HTTP-only標(biāo)志(HTTP-only flag)來(lái)增加安全性。安全標(biāo)志可以確保Cookie僅在使用加密協(xié)議(如HTTPS)時(shí)傳輸,而HTTP-only標(biāo)志可以防止JavaScript訪問(wèn)Cookie,從而減少跨站點(diǎn)腳本攻擊(XSS)的風(fēng)險(xiǎn)。
    • Session:由于Session數(shù)據(jù)存儲(chǔ)在服務(wù)器端,相對(duì)于Cookie,Session更難受到客戶端篡改和攻擊。
  4. 時(shí)效性:

    • Cookie:Cookie可以設(shè)置一個(gè)過(guò)期時(shí)間,在此之前瀏覽器會(huì)持續(xù)保存它,并在用戶下次訪問(wèn)網(wǎng)站時(shí)發(fā)送回服務(wù)器??梢詣?chuàng)建持久性Cookie(有過(guò)期時(shí)間)和會(huì)話Cookie(在用戶關(guān)閉瀏覽器后過(guò)期)。
    • Session:Session可以有一個(gè)過(guò)期時(shí)間,或者在用戶關(guān)閉瀏覽器時(shí)自動(dòng)銷毀。會(huì)話Cookie通常用于存儲(chǔ)會(huì)話ID,而不是實(shí)際的會(huì)話數(shù)據(jù)。
  5. 跨設(shè)備支持:

    • Cookie:Cookie存儲(chǔ)在用戶的瀏覽器中,因此可以在不同設(shè)備上使用同一瀏覽器時(shí)共享??梢酝ㄟ^(guò)在瀏覽器中同步Cookie來(lái)實(shí)現(xiàn)跨設(shè)備的狀態(tài)共享。
    • Session:Session數(shù)據(jù)存儲(chǔ)在服務(wù)器端,與設(shè)備無(wú)關(guān)。無(wú)論用戶使用哪個(gè)設(shè)備訪問(wèn)網(wǎng)站,服務(wù)器都可以通過(guò)會(huì)話ID來(lái)檢索和管理用戶的會(huì)話數(shù)據(jù)。

需要注意的是,Cookie和Session通常一起使用,通過(guò)Cookie中的唯一標(biāo)識(shí)符來(lái)關(guān)聯(lián)和管理服務(wù)器端的Session數(shù)據(jù)。Cookie提供了一種持久性存儲(chǔ)和跨設(shè)備共享的方式,而Session提供了在服務(wù)器端存儲(chǔ)和管理用戶狀態(tài)的機(jī)制。理解Cookie和Session的區(qū)別對(duì)于開(kāi)發(fā)安全和可靠的Web應(yīng)用程序至關(guān)重要。

三、登陸案例講解

1、以登錄案例講解Cookie的使用過(guò)程

  1. 首先用戶在客戶端瀏覽器向服務(wù)器首次發(fā)起登陸請(qǐng)求
  2. 登陸成功后,服務(wù)端會(huì)把登陸的用戶信息設(shè)置在cookie中(即set-cookie),并將cookie返回給客戶端瀏覽器
  3. 客戶端瀏覽器接收到 cookie 請(qǐng)求后,會(huì)把 cookie 保存到本地(可能是內(nèi)存,也可能是磁盤,看具體使用情況而定)
  4. 以后再次訪問(wèn)該 web 應(yīng)用時(shí),客戶端瀏覽器就會(huì)把本地的 cookie 帶上,這樣服務(wù)端就能根據(jù) cookie 獲得用戶信息了

弊端:服務(wù)端把用戶信息(用戶名、用戶密碼)設(shè)置在cookie里返回給客戶端,讓客戶端自己保存,也就是用戶可以在客戶端看到自己的密碼。如果你的電腦被盜了,別人也可以在cookie里看到你的用戶名和密碼,這存在著極大的信息泄露安全風(fēng)險(xiǎn)?。?br> 因此,引進(jìn)了session登錄

2、以登陸案例講解 Session 的使用過(guò)程

  1. 首先用戶在客戶端瀏覽器發(fā)起登陸請(qǐng)求。
  2. 登陸成功后,服務(wù)端會(huì)把用戶信息保存在服務(wù)端,并返回一個(gè)唯一的 session 標(biāo)識(shí)(即sessionID)通過(guò)設(shè)置在cookie里返回給客戶端瀏覽器
  3. 客戶端瀏覽器會(huì)把這個(gè)唯一的session 標(biāo)識(shí)保存在起來(lái)
  4. 以后再次訪問(wèn) web 應(yīng)用時(shí),客戶端瀏覽器會(huì)把這個(gè)唯一的 session 標(biāo)識(shí)帶上,這樣服務(wù)端就能根據(jù)這個(gè)唯一標(biāo)識(shí)找到用戶信息。

看到這里可能會(huì)引起疑問(wèn):把唯一的 session 標(biāo)識(shí)返回給客戶端瀏覽器,然后保存起來(lái),以后訪問(wèn)時(shí)帶上,這難道不是 cookie 嗎?

沒(méi)錯(cuò),session 只是一種會(huì)話機(jī)制,在許多 web 應(yīng)用中,session 機(jī)制就是通過(guò) cookie 來(lái)實(shí)現(xiàn)的。也就是說(shuō)它只是使用(利用)了cookie 的功能,并不是使用 cookie完成會(huì)話保存。與 cookie 在保存客戶端保存會(huì)話的機(jī)制相反,session 通過(guò)cookie的功能把會(huì)話信息保存到了服務(wù)端。

四、總結(jié)

舉個(gè)小例子說(shuō)明Cookie和Session之間的區(qū)別和聯(lián)系
假如一個(gè)咖啡店有喝五杯贈(zèng)一杯咖啡的優(yōu)惠,但是一次性消費(fèi)5杯咖啡的客人很少,這時(shí)就需要某種方式來(lái)記錄某位顧客的消費(fèi)數(shù)量。無(wú)外乎下面的幾種方案文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-627868.html

  1. 該店的店員很厲害,能記住每位顧客的消費(fèi)數(shù)量,只要顧客一走進(jìn)咖啡店,店員就知道該怎么對(duì)待了。這種做法就是協(xié)議本身支持狀態(tài)。但是http協(xié)議本身是無(wú)狀態(tài)的。
  2. 發(fā)給顧客一張卡片,上面記錄著消費(fèi)的數(shù)量,一般還有個(gè)有效期限。每次消費(fèi)時(shí),如果顧客出示這張卡片,則此次消費(fèi)就會(huì)與以前或以后的消費(fèi)相聯(lián)系起來(lái)。這種做法就是在客戶端保持狀態(tài),也就是cookie,顧客就相當(dāng)于瀏覽器,也就是Cookie登錄。
  3. 發(fā)給顧客一張會(huì)員卡,除了卡號(hào)之外什么信息也不紀(jì)錄,每次消費(fèi)時(shí),如果顧客出示該卡片,則店員在店里的記錄本上找到這個(gè)卡號(hào)對(duì)應(yīng)的記錄添加一些消費(fèi)信息。這種做法就是在服務(wù)器端保持狀態(tài),也就是Session登錄。

到了這里,關(guān)于Cookie vs Session:Web開(kāi)發(fā)中的身份驗(yàn)證之爭(zhēng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 4.php開(kāi)發(fā)-個(gè)人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全?

    4.php開(kāi)發(fā)-個(gè)人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全?

    目錄 知識(shí)點(diǎn) 本節(jié)大綱思路 ——這里以我自己的為例—— cookie驗(yàn)證—————— login1.php-登錄后臺(tái)界面 login_check.php-檢查,作為包含文件 add_news.php-后臺(tái)界面 php編碼 如何創(chuàng)建 Cookie?--setcookie() 語(yǔ)法 實(shí)例 1 php header跳轉(zhuǎn) 演示案例-cookie驗(yàn)證脆弱問(wèn)題 session驗(yàn)證—————— sess

    2024年01月25日
    瀏覽(27)
  • 4.php開(kāi)發(fā)-個(gè)人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全

    4.php開(kāi)發(fā)-個(gè)人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全

    目錄 4.php開(kāi)發(fā)-個(gè)人博客項(xiàng)目登錄驗(yàn)證cookiesession驗(yàn)證碼安全 知識(shí)點(diǎn) 本節(jié)大綱思路 ——這里以我自己的為例—— cookie驗(yàn)證—————— login1.php-登錄后臺(tái)界面 login_check.php-檢查,作為包含文件 add_news.php-后臺(tái)界面 php編碼 如何創(chuàng)建 Cookie?--setcookie() 語(yǔ)法 實(shí)例 1 php header跳轉(zhuǎn) 演示

    2024年01月23日
    瀏覽(19)
  • 小迪安全 第15天:php開(kāi)發(fā)-個(gè)人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全

    小迪安全 第15天:php開(kāi)發(fā)-個(gè)人博客項(xiàng)目&登錄驗(yàn)證&cookie&session&驗(yàn)證碼安全

    1.后臺(tái)驗(yàn)證-登錄用戶邏輯安全-怎么去判定用戶登陸成功 2.后臺(tái)驗(yàn)證-COOKIESESSION 3.后臺(tái)驗(yàn)證-驗(yàn)證碼·萬(wàn)能密碼等 思路: 1.發(fā)送登錄請(qǐng)求 賬號(hào) 密碼 2.接收賬號(hào)密碼 3.判斷賬號(hào)密碼的準(zhǔn)確性 正確 成功登陸-跳轉(zhuǎn)成功頁(yè)面 錯(cuò)誤 失敗登錄-重新登陸 后臺(tái)管理系統(tǒng)有多個(gè)文件頁(yè)面,為了

    2024年04月15日
    瀏覽(18)
  • 【Node.js】身份認(rèn)證,Cookie和Session的認(rèn)證機(jī)制,express中使用session認(rèn)證和JWT認(rèn)證

    【Node.js】身份認(rèn)證,Cookie和Session的認(rèn)證機(jī)制,express中使用session認(rèn)證和JWT認(rèn)證

    Web開(kāi)發(fā)模式 基于服務(wù)器渲染的傳統(tǒng)web開(kāi)發(fā)模式 服務(wù)端渲染的概念,服務(wù)器發(fā)送給客戶端的HTNL頁(yè)面,是在服務(wù)器通過(guò)字符串的拼接,動(dòng)態(tài)生成的,因此,客戶端不需要Ajax這樣的技術(shù)額外請(qǐng)求頁(yè)面的數(shù)據(jù) 優(yōu)點(diǎn): 前端耗時(shí)少,有利于seo(就是爬蟲更容易爬取獲得信息,更有利于

    2023年04月11日
    瀏覽(58)
  • Java開(kāi)發(fā) 微軟OAuth身份驗(yàn)證在EWS中的應(yīng)用

    一、使用說(shuō)明 看到有朋友在評(píng)論區(qū)咨詢Java通過(guò)Oauth2.0調(diào)用EWS的實(shí)現(xiàn)。所以有了這篇文章,大概思路是使用Azure的客戶端賬號(hào)和密碼通過(guò)http方式獲取到Token信息,再通過(guò)Token去初始化ExchangeService實(shí)例,再通過(guò)各項(xiàng)API完成各種功能的調(diào)用。 二、HTTP方式獲取Ews的Token信息 配置文件

    2024年02月16日
    瀏覽(18)
  • Asp.Net Core 6 Cookie 的身份驗(yàn)證策略

    Asp.Net Core 6 Cookie 的身份驗(yàn)證策略

    參考文獻(xiàn): http://www.js-code.com/xindejiqiao/xindejiqiao_274882.html https://www.cnblogs.com/xiaoxiaotank/p/15811749.html 編寫代碼過(guò)程中不理解的代碼可參考上面的文獻(xiàn) 首先需要配置你的Program.cs,代碼如下: 然后開(kāi)啟中間件 ?創(chuàng)建一個(gè)AuthenticationMiddleware.cs類 在寫登錄的地方去使用 ?最后給你的控制

    2024年02月16日
    瀏覽(30)
  • Node.js | 詳解 Cookie-Session登錄驗(yàn)證 的工作原理

    Node.js | 詳解 Cookie-Session登錄驗(yàn)證 的工作原理

    ????? 個(gè)人簡(jiǎn)介:一個(gè)不甘平庸的平凡人?? ??? 本系列專欄:Node.js從入門到精通 ?? 你的一鍵三連是我更新的最大動(dòng)力??! ?? 歡迎私信博主加入前端交流群?? 目前絕大多數(shù)的系統(tǒng)都少不了 登錄驗(yàn)證 的功能,這主要是為了保存用戶的狀態(tài),以此來(lái)限制用戶的各種行

    2024年01月17日
    瀏覽(16)
  • Web會(huì)話跟蹤:Cookie與Session

    在Web應(yīng)用中,同一個(gè)瀏覽器與Web服務(wù)器的一次一系列的各種交互活動(dòng)稱為 會(huì)話 。而Web應(yīng)用往往需要對(duì)用戶進(jìn)行會(huì)話跟蹤,記錄用戶的狀態(tài)。下面簡(jiǎn)單介紹一下會(huì)話跟蹤技術(shù)Cookie與Session。 Cookie ,有時(shí)也用其復(fù)數(shù)形式 Cookies,是一個(gè)保存在用戶客戶端計(jì)算機(jī)中的簡(jiǎn)單的小型文本

    2024年02月19日
    瀏覽(19)
  • web學(xué)習(xí)--Cookie與Session會(huì)話技術(shù)

    1.概念:客戶端會(huì)話技術(shù),將數(shù)據(jù)保存在客戶端 使用步驟: 1,創(chuàng)建Cookie對(duì)象,綁定數(shù)據(jù) 2.發(fā)送Cookie對(duì)象 3.獲取Cookie,拿到數(shù)據(jù) WebServlet(\\\"/Demo1\\\") public class CookidDemo1 extends HttpServlet { ? ? @Override ? ? protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException

    2024年02月13日
    瀏覽(22)
  • 如何在個(gè)人web項(xiàng)目中使用會(huì)話技術(shù)(cookie&session)?

    如何在個(gè)人web項(xiàng)目中使用會(huì)話技術(shù)(cookie&session)?

    編譯軟件:IntelliJ IDEA 2019.2.4 x64 操作系統(tǒng):win10 x64 位 家庭版 服務(wù)器軟件:apache-tomcat-8.5.27 翻開(kāi)百度百科關(guān)于“ 會(huì)話 ”的詞條,它是這樣描述:“ 在計(jì)算機(jī)術(shù)語(yǔ)中,會(huì)話是指一個(gè)終端用戶與交互系統(tǒng)進(jìn)行通訊的過(guò)程,比如從輸入賬戶密碼進(jìn)入操作系統(tǒng)到退出操作系統(tǒng)就是一

    2023年04月22日
    瀏覽(32)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包