日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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本質上是服務器發(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。

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)點:信息安全
    • 缺點:占用服務器的資源,分布式不方便
  • 傳遞sessionid
    如果cookie被禁用,那么可以通過get來傳遞sessionid:
"xxx.php?<?php echo session_name().'='.session_id(); ?>"//通過session_name()和session_id()來拼接"xxx.php?<?php echo SID; ?>"//SID常量在cookie開啟的時候為空,在cookie被禁用的時候是session_name()和session_id()拼接的樣子
  • session 的存儲

    session_set_save_handler()函數(shù)可以將session存儲在服務器上(mysql Memcache redis等)

轉載于:https://www.cnblogs.com/clannadxr/p/7723309.html

總結

以上是生活随笔為你收集整理的PHP会话控制考察点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。