成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Cookie 和 Session

monw3c / 1166人閱讀

摘要:服務端設置好后,將會通過響應頭返回給瀏覽器。注意是在中發(fā)送的,所以之前不能有任何輸出。數(shù)據(jù)存儲在客戶端,容易被攔截篡改,不安全。數(shù)據(jù)存放在服務端,安全。當落入第三者時,服務端將無法分辨出是否是合法的請求。

Cookie 起源

當初 W3C 在設計 Cookie 時實際上考慮的是為了記錄用戶在一段時間內(nèi)訪問 Web 應用的行為路徑

由于HTTP 協(xié)議是一種無狀態(tài)協(xié)議,當用戶的一次訪問請求結束后,后端服務器就無法知道下一次來訪問的還是不是上次訪問的用戶。
Cookie 的作用正是在此,由于是同一個客戶端發(fā)出的請求,每次發(fā)出的請求都會帶有上一次訪問時服務端設置的信息,這樣服務端就可以根據(jù)之前存入 Cookie 的值來做相應的處理(區(qū)分訪問的用戶等)。

作用

解決了客戶端和服務端之間的無狀態(tài)

通俗地講就是當一個用戶通過 HTTP 協(xié)議訪問一個服務器的時候,服務器會根據(jù)需要設置一些 Cookie 信息(Key/Value 鍵值對),并給這些數(shù)據(jù)加上一些限制條件,再以響應頭的形式返回給客戶端瀏覽器。在條件符合時這個用戶下次訪問這個服務器的時候,數(shù)據(jù)又被完整地帶回給服務器。

流程簡介

當客戶端瀏覽器發(fā)送請求時,會根據(jù)自身的設置找尋相應條件下的 Cookie 信息并解析。若找到,則設置相應的請求頭信息,再發(fā)送請求,否則直接發(fā)送請求。

服務端設置好 $_COOKIE 后,將會通過響應頭返回給瀏覽器。注意: Cookie 是在 header 中發(fā)送的,所以之前不能有任何輸出。

缺點

每次請求都會攜帶全部的 Cookie 信息,容易造成不必要的帶寬浪費。

每個瀏覽器對 Cookie 在同一個域名下的個數(shù)和每個 Cookie 的總大小(4kb)都有相應的限制。

數(shù)據(jù)存儲在客戶端,容易被攔截篡改,不安全。

客戶端可以禁用 Cookie,導致功能失效。

難于管理,大型系統(tǒng)里每個應用都會有自己的 Cookie,加上以上的限制,容易出現(xiàn)數(shù)據(jù)被截取,導致數(shù)據(jù)丟失。

Session

基于以上的缺點, Session 來了。

流程簡介

服務端(默認設置)接受請求時,先查看 $_COOKIE 中是否存在 name 為 PHPSESSID 的鍵值對(value 為服務端生成的 SESSION_ID:bebfaf6c745c1a6e5f341baf2178113b)。

若不存在(第一次請求),將會自動生成 SESSION_ID,寫入到 $_COOKIE 數(shù)組中(name 為 PHPSESSID, value 為 SESSION_ID),然后通過響應頭返回給瀏覽器。

若存在(非第一次請求),則根據(jù) value 值到設置的目錄下獲取相應的文件,反序列化并寫入到 $_SESSION 數(shù)組供后續(xù)使用。

當服務端進行 $_SESSION 設置時,此 $_SESSION 只會維持在內(nèi)存中。當腳本執(zhí)行結束時,將會自動把 $_SESSION 序列化后寫入到 SESSION_ID 對應的文件中(創(chuàng)建或覆蓋)。

優(yōu)點

只將會話標識符放到 Cookie 里,減少帶寬的傳輸。

可以存儲大量的信息,基本沒有空間上的限制。

數(shù)據(jù)存放在服務端,安全。

可以統(tǒng)一集中式管理。

聯(lián)系

SESSION 為了識別會話,需要傳輸一個唯一的 SESSION_ID 到客戶端。一般情況下,都是借助 Cookie 來傳遞,當然也可以通過其他方式進行傳遞。

Session 安全延伸

以上分析得出, Session 需要通過 SESSION_ID 來識別客戶端,這就會導致一個安全隱患。當 SESSION_ID 落入第三者時,服務端將無法分辨出是否是合法的請求。

一個簡單的防御措施就是:每次請求時都生成一個新的 SESSION_ID 關聯(lián)到對應的數(shù)據(jù)并將老的 SESSION_ID 刪除。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/22653.html

相關文章

  • sessioncookie

    摘要:的作用就是為了解決協(xié)議無狀態(tài)的缺陷所作的努力。的內(nèi)容主要包括名字,值,過期時間,路徑和域。這種生命期為瀏覽器會話期的被稱為會話。而機制采用的是一種在服務器端保持狀態(tài)的解決方案。中的有效期默認分鐘,也就是說,客戶端超過分鐘,當前就會失效。 會話控制是什么? cookie和session都是跟蹤整個會話過程的技術手段。而會話,就是用戶通過瀏覽器和服務器的一次通話。 為什么要有會話控制? 因...

    ruicbAndroid 評論0 收藏0
  • sessioncookie機制及l(fā)aravel框架下相關應用

    摘要:服務器檢查該,以此來辨認用戶狀態(tài)。五下的相關應用應用在中配置如下配置項用于設置存儲方式,默認是,即存儲在文件中,該文件位于配置項配置的路徑,即。配置項用于設置有效期,默認為分鐘。配置項用于配置數(shù)據(jù)是否加密。 一、cookie的由來 ??當用戶訪問某網(wǎng)站時,web服務器會將部分信息保存到本地計算機上,當用戶再次關顧該網(wǎng)站時,服務器會去查看用戶是否登錄過該網(wǎng)站,如果登錄過,就會將這些記錄在...

    NicolasHe 評論0 收藏0
  • Cookie Session 區(qū)別匯總

    摘要:無狀態(tài)協(xié)議無狀態(tài)協(xié)議,是指協(xié)議對于事務處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數(shù)據(jù)量增大。是通過客戶端保持狀態(tài)的解決方案。而這次,信息則存放在請求頭了。 HTTP無狀態(tài)協(xié)議 HTTP無狀態(tài)協(xié)議,是指協(xié)議對于事務處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數(shù)據(jù)量增大。另一方...

    Kross 評論0 收藏0
  • Cookie Session 區(qū)別匯總

    摘要:無狀態(tài)協(xié)議無狀態(tài)協(xié)議,是指協(xié)議對于事務處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數(shù)據(jù)量增大。是通過客戶端保持狀態(tài)的解決方案。而這次,信息則存放在請求頭了。 HTTP無狀態(tài)協(xié)議 HTTP無狀態(tài)協(xié)議,是指協(xié)議對于事務處理沒有記憶能力。缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數(shù)據(jù)量增大。另一方...

    Jinkey 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<