當前位置:
首頁 >
PHP会话控制考察点
發(fā)布時間:2023/12/6
42
豆豆
生活随笔
收集整理的這篇文章主要介紹了
PHP会话控制考察点
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
為什么要使用會話控制技術
HTTP協(xié)議是無狀態(tài)的,也就是說HTTP沒有一個內建的機制來維護兩個事務之間的狀態(tài)。當一個用戶完成一個請求發(fā)起第二個請求的時候,服務器無法知道這次請求是來自于上一次的客戶。而用戶登錄、購物車等,這些是需要服務器能夠保存用戶的狀態(tài)的。會話技術就是用來完成這件事的。其思想是允許服務器跟蹤客戶端做出的連續(xù)請求。
會話控制技術的實現(xiàn)方式
通過GET參數(shù)傳遞
在get里面把狀態(tài)傳遞到下一頁
使用get參數(shù)傳遞不安全而且不穩(wěn)定,不建議使用
Cookie
Cookie本質上是服務器發(fā)送給客戶端的片段信息,存儲在客戶端瀏覽器的內存或者是硬盤中的技術。
- Cookie的寫入操作
setcookie($name,$value,$expire,$path,$domain,$secure) - 讀取Cookie
$_COOKIE數(shù)組 - 刪除Cookie
刪除cookie不能使用unset,因為$_COOKIE是只讀的。要想刪除,只需要讓其過期就就行:
setcookie($name,'',time()-1000) - Cookie的優(yōu)缺點
- 優(yōu)點:存儲在客戶端,不會占用服務器的資源
- 缺點:信息保存在客戶端,安全性得不到保障,而且用戶可以關閉cookie。
- 優(yōu)點:存儲在客戶端,不會占用服務器的資源
Session
Session將數(shù)據(jù)保存在服務器上,相比cookie更加安全。
session并不是完全脫離cookie,他是基于cookie的(需要將sessionid保存在客戶端,如果cookie被禁用,可以通過url來傳遞sessionid)
- session 的操作
- session_start();//要使用之前一定要開啟
- 然后直接操作$_SESSION數(shù)組
- 要刪除,直接賦空數(shù)組:$_SESSION = [];
- 如果想刪除文件,則使用session_destroy();//同時會刪除對應session的cookie
- session 配置(php.ini)
- session.auto_start
- session.cookie_domain
- session.cookie_lifetime
- session.cookie_path
- session.name
- session.save_path
- session.use_cookies
- session.use_trans_sid
- session.gc_probability
- session.gc_divisor
- session.gc_maxlifetime
- session.save_handler
- session的優(yōu)缺點
- 優(yōu)點:信息安全
- 缺點:占用服務器的資源,分布式不方便
- 優(yōu)點:信息安全
- 傳遞sessionid
如果cookie被禁用,那么可以通過get來傳遞sessionid:
session 的存儲
session_set_save_handler()函數(shù)可以將session存儲在服務器上(mysql Memcache redis等)
轉載于:https://www.cnblogs.com/clannadxr/p/7723309.html
總結
以上是生活随笔為你收集整理的PHP会话控制考察点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件架构实践文章链接
- 下一篇: PHP中file_put_content