摘要:單單取出自己的信息場景當前頁面不是本站用戶不能看需要把信息存儲在中,共享。從客戶端設置,告知瀏覽器要設置了。如果想讓整個站有效果,可以在根目錄下也可以使用第四個參數,來指定生效路徑是不能夠跨域名否則存在安全問題例如的,不能被發送到下使用。
用戶注冊功能 頁面分析
文件: reg.php
作用:展示注冊表單
Model: N/A View: zhuce.html Controller: reg.php
文件:regAct.php
作用:
接收注冊表單的信息
判斷數據
調用UserModel
把信息寫入數據庫
Model:UserModel Controller: regAct.php View:regres.html理解Cookie
場景1:
需要看自己的注冊資料,即用戶表的自己的信息。但是別人不允許看我的資料,我也不能看別人的信息。
單單取出自己的信息.
場景2:
當前頁面不是本站用戶不能看.
需要把信息存儲在cookie中,共享。
從 客戶端設置cookie,告知瀏覽器要設置cookie了。 (token)
在客戶端需要cookie的時候,從瀏覽器處獲取 。
登陸時,是誰給誰信息
登陸時,從客戶端設置信息到瀏覽器中存儲。
驗證登錄時,是誰給誰信息
驗證登錄時,瀏覽器需要拿著信息到客戶端驗證,是瀏覽器端給客戶端信息。
cookie設置讀取與銷毀cookie參數
setcookie($name, $value, $expire, $path, $domain, $secure, $httponly)
setcookie()常用參數
1: cookie key
2: cookie val
3: cookie 有效期
4: cookie 有效路徑
加上一個負數的時間戳
setcookie("school", "", 0); // cookie設置成負數或者0cookie計數器
if ( !isset($_COOKIE["num"]) ) { $num = 1; setcookie("num", $num); } else { $num = $_COOKIE["num"]; setcookie("num", $num+1); } echo "這是你的第" . $num . "次訪問";瀏覽歷史
= 10 ) { array_pop($his); } } setcookie("history", implode(",", $his)); ?>
場景:
cookie 由瀏覽器帶著,如果被篡改了, 如何做.
cookie 往往用來記住用戶名,瀏覽歷史,等安全性要求不高的地方.
使用session. 給瀏覽器端一個憑證,數據存儲客戶端.
基本使用設置session
session_start(); // 開啟session $_SESSION["user"] = "pink";
讀取session
echo $_SESSION["user"];
session 中設置的值存儲的位置配置的地方在php.ini中的session.save_path.
其中的session_id 是無規律的token給瀏覽器的憑證.
無論是創建,修改,銷毀.都需要session_start()
一旦session_start()之后,$_SESSION就可以自由的設置,刪除,修改。(即:當成普通數組來操作,而cookie只能通過setcookie()來進行)
創建
修改
銷毀
可以多帶帶銷毀某個單元 ,即把$_SESSION數組某一個單元unset()
unset($_SESSION["user"]);
可以把整個$_SESSION銷毀
$_SESSION = array(); // 臨時存儲的文件中的內容不存在
利用函數把箱子整體清空
session_unset($_SESSION); // 臨時存儲的文件中的內容不存在
把文件銷毀.
session_destroy();session 的生命周期
一個session,有2方面的數據共同發揮作用
客戶端的cookie
服務器端的session文件
刪除也是要從這兩個方面去刪除
在php.ini 中, session.cookie_lifetime = 15; // 控制sessionid的cookie的聲明周期,以秒為單位
注意: 如果用戶修改cookie,讓cookie的生命周期為1年.也無法判斷。
$_SESSION["time"] = 登陸時的時間戳
檢驗session的開啟時間
session路徑session的有效,取決于cookie,cookie在哪兒有效,session自然就能讀到.
在 php.ini中, 指定了session的cookie的有效路徑是/ 路徑:session.cookie_path = "/"
無論session在多深的目錄下設置,而session在整站有效果.
cookie 只能存儲字符串,數字這樣的標量數據.
session可以存儲數組/對象(除了資源型,其它7中類型都可以)
注意:如果把對象存儲到session里,那么另一個讀取session的頁面,也必須有此對象的類聲明 否則從session分析出一個對象,卻沒有與之對應的類,則會提示__PHP_Incomplete_Class
從http協議角度看,cookie信息是放在頭信息里傳輸的,自然,使用cookie之前,不能有任何的主體信息輸出,空白,空行也不可行,如果還有出錯,可以檢查BOM.
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22084.html
閱讀 1467·2023-04-26 00:08
閱讀 797·2021-11-23 18:51
閱讀 1672·2021-11-12 10:34
閱讀 1008·2021-10-14 09:43
閱讀 502·2021-08-18 10:23
閱讀 2581·2019-08-30 15:55
閱讀 3392·2019-08-30 11:05
閱讀 2792·2019-08-29 12:50