溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中cookie與session的區別是什么

發布時間:2021-12-06 10:11:01 來源:億速云 閱讀:162 作者:iii 欄目:開發技術

本篇內容主要講解“php中cookie與session的區別是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“php中cookie與session的區別是什么”吧!

本教程操作環境:windows7系統、PHP7.1版、DELL G3電腦

無論是在系統運維還是 PHP 開發人員的面試中,經常會被問到 Session 和 Cookie 在 PHP 中的區別?下面我們就來總結一下:

Cookie 僅由客戶端生成、管理并使用,PHP 只是發出指令要求客戶端如何生成 Cookie、何時過期等,但是客戶端不一定會按照 PHP 的指令辦事。

Cookie 不是很安全,不法分子可以通過分析本地的 Cookie 進行 Cookie 欺騙??紤]到安全問題,建議將用戶的重要信息存放在 Session 中,其它不重要但需要保留的信息可以存放在 Cookie 中。

Session 是用戶進入某個網站到關閉瀏覽器這段時間的會話,默認以文件形式存在服務器磁盤中,所以設置過多的 Session 會影響磁盤的性能,也可以用 Memory 引擎存入 MySQL,因為內存引擎讀寫速度快,現在也可以指定用 Redis 來處理 Session,這樣更快,效率更高。

Session 的收回機制是被動的,一般來說,一旦關閉瀏覽器 Session 也就被 PHP 自動回收了,但有時即使設置了過期時間并且關閉瀏覽器也不一定會刪除 Session,比如設置多目錄多層級保存 Session 時,這時需要通過 PHP 腳本手動刪除 Session。

通常 Cookie 與 Session 是綁定的,即用戶在沒有禁用 Cookie 時,Cookie 一般會保存 Session ID 及 Session 生存周期,如果用戶刪除 Cookie 一般會退出系統;如果沒有禁用 Cookie 關閉瀏覽器 Session 也會立即失效,要重新登錄系統。

Cookie 與 Session 一般應于標識用戶、權限認證、存儲簡單數據、還有就是利用 Cookie 實現單點登錄。

Cookie 存儲的數據在不同的瀏覽器會有不同的限制,一般在同一個域名下,Cookie 變量數量控制在 20 個以內,每個 Cookie 的值大小控制在 4kb 以內。Session 值沒有大小和數量限制,但如果數量過多,會增大服務器的壓力。另外,Cookie 保存的內容是字符串,而 Session 保存的數據是對象。

Session 不能區分路徑,同一個用戶在訪問一個網站期間,所有的 Session 在任何一個地方都可以訪問到;而 Cookie 中如果設置了路徑參數,那么同一個網站中不同路徑下的 Cookie 是不能互相訪問的。

COOKIE和SESSION的區別

(1)存儲位置:Cookie存儲在客戶端瀏覽器中,相對不安全;Session內容所在文件存儲在服務器中,一般在根目錄下的tmp文件夾中,相對更安全。

(2)數量和大小限制:Cookie存儲的數據在不同的瀏覽器會有不同的限制,一般在同一個域名下,Cookie變量數量控制在20個以內,每個cookie值的大小控制在4kb以內。session值沒有大小和數量限制,但如果數量過多,會增大服務器的壓力。

(3)內容區別:cookie保存的內容是字符串,而服務器中的session保存的數據是對象。

(4)路徑區別:session不能區分路徑,同一個用戶在訪問一個網站期間,所有的session在任何一個地方都可以訪問到;而cookie中如果設置了路徑參數,那么同一個網站中不同路徑下的cookie互相是訪問不到的。

內容擴展:

1、存放的位置

cookie保存在客戶端,session保存在服務器端的文件系統/數據庫/memcache等。

2、安全性

session因為保存有服務器端,安全性無疑更高一些。

3、網絡傳輸量

cookie通過網絡在客戶端與服務器端傳輸,會占用一些帶寬;而session保存在服務器端,不需要傳輸。

4、保存時間(生命周期),以20分鐘為例

cookie的生命周期是累計的,從創建時就開始計算,20分鐘后生命周期就結束,即cookie無效;

session的生命周期是間隔的。從創建時開始計時,如果20分鐘內,沒有訪問過session,那么session會在20分鐘時失效。而如果在20分鐘內的任一時間訪問過session,那么,session的生命周期將重新開始計算。

5、session和cookie的生效路徑

cookie在默認情況下,cookie只在當前文件的目錄下生效,一般需要設置setcookie的第四個參數為根目錄,使得整個網站所在頁面都生效;session默認情況下是根目錄下生效(可以通過查看cookie的PHPSESSID信息知道,或者通過php.ini文件里的session.cookie_path來設置)。

到此,相信大家對“php中cookie與session的區別是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女