成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

PHP_Cookie_Session

zollero / 955人閱讀

摘要:?jiǎn)螁稳〕鲎约旱男畔?chǎng)景當(dāng)前頁(yè)面不是本站用戶(hù)不能看需要把信息存儲(chǔ)在中,共享。從客戶(hù)端設(shè)置,告知瀏覽器要設(shè)置了。如果想讓整個(gè)站有效果,可以在根目錄下也可以使用第四個(gè)參數(shù),來(lái)指定生效路徑是不能夠跨域名否則存在安全問(wèn)題例如的,不能被發(fā)送到下使用。

用戶(hù)注冊(cè)功能 頁(yè)面分析

文件: reg.php
作用:展示注冊(cè)表單

Model: N/A 
View:  zhuce.html
Controller: reg.php

文件:regAct.php
作用:

接收注冊(cè)表單的信息

判斷數(shù)據(jù)

調(diào)用UserModel

把信息寫(xiě)入數(shù)據(jù)庫(kù)

Model:UserModel
Controller: regAct.php
View:regres.html
理解Cookie

場(chǎng)景1:
需要看自己的注冊(cè)資料,即用戶(hù)表的自己的信息。但是別人不允許看我的資料,我也不能看別人的信息。
單單取出自己的信息.

場(chǎng)景2:
當(dāng)前頁(yè)面不是本站用戶(hù)不能看.


需要把信息存儲(chǔ)在cookie中,共享。

從 客戶(hù)端設(shè)置cookie,告知瀏覽器要設(shè)置cookie了。 (token)
在客戶(hù)端需要cookie的時(shí)候,從瀏覽器處獲取 。

登陸時(shí),是誰(shuí)給誰(shuí)信息

登陸時(shí),從客戶(hù)端設(shè)置信息到瀏覽器中存儲(chǔ)。

驗(yàn)證登錄時(shí),是誰(shuí)給誰(shuí)信息

驗(yàn)證登錄時(shí),瀏覽器需要拿著信息到客戶(hù)端驗(yàn)證,是瀏覽器端給客戶(hù)端信息。

cookie設(shè)置讀取與銷(xiāo)毀

cookie參數(shù)

setcookie($name, $value, $expire, $path, $domain, $secure, $httponly)

setcookie()常用參數(shù)

1: cookie key
2: cookie val
3: cookie 有效期
4: cookie 有效路徑

cookie失效

加上一個(gè)負(fù)數(shù)的時(shí)間戳

setcookie("school", "", 0); // cookie設(shè)置成負(fù)數(shù)或者0
cookie計(jì)數(shù)器
if ( !isset($_COOKIE["num"]) ) {
    $num = 1;
    setcookie("num", $num);
} else {
    $num = $_COOKIE["num"];
    setcookie("num", $num+1);
}

echo "這是你的第" . $num . "次訪(fǎng)問(wèn)";
瀏覽歷史
= 10 ) {
            array_pop($his);
        }
        
    }
    setcookie("history", implode(",", $his));
?>

上一頁(yè)

下一頁(yè)

  • 瀏覽歷史
Session

場(chǎng)景:
cookie 由瀏覽器帶著,如果被篡改了, 如何做.
cookie 往往用來(lái)記住用戶(hù)名,瀏覽歷史,等安全性要求不高的地方.

使用session. 給瀏覽器端一個(gè)憑證,數(shù)據(jù)存儲(chǔ)客戶(hù)端.

基本使用

設(shè)置session

session_start(); // 開(kāi)啟session
    
$_SESSION["user"] = "pink";

讀取session

echo $_SESSION["user"];

session 中設(shè)置的值存儲(chǔ)的位置配置的地方在php.ini中的session.save_path.
其中的session_id 是無(wú)規(guī)律的token給瀏覽器的憑證.

session詳細(xì)

無(wú)論是創(chuàng)建,修改,銷(xiāo)毀.都需要session_start()

一旦session_start()之后,$_SESSION就可以自由的設(shè)置,刪除,修改。(即:當(dāng)成普通數(shù)組來(lái)操作,而cookie只能通過(guò)setcookie()來(lái)進(jìn)行)

創(chuàng)建

修改

銷(xiāo)毀

可以多帶帶銷(xiāo)毀某個(gè)單元 ,即把$_SESSION數(shù)組某一個(gè)單元unset()

unset($_SESSION["user"]);

可以把整個(gè)$_SESSION銷(xiāo)毀

$_SESSION = array(); // 臨時(shí)存儲(chǔ)的文件中的內(nèi)容不存在 

利用函數(shù)把箱子整體清空

session_unset($_SESSION); // 臨時(shí)存儲(chǔ)的文件中的內(nèi)容不存在

把文件銷(xiāo)毀.

session_destroy();

session 的生命周期

一個(gè)session,有2方面的數(shù)據(jù)共同發(fā)揮作用

客戶(hù)端的cookie

服務(wù)器端的session文件

刪除也是要從這兩個(gè)方面去刪除

在php.ini 中, session.cookie_lifetime = 15; // 控制sessionid的cookie的聲明周期,以秒為單位

注意: 如果用戶(hù)修改cookie,讓cookie的生命周期為1年.也無(wú)法判斷。

$_SESSION["time"] = 登陸時(shí)的時(shí)間戳

檢驗(yàn)session的開(kāi)啟時(shí)間

session路徑

session的有效,取決于cookie,cookie在哪兒有效,session自然就能讀到.

在 php.ini中, 指定了session的cookie的有效路徑是/ 路徑:session.cookie_path = "/"
無(wú)論session在多深的目錄下設(shè)置,而session在整站有效果.

session存儲(chǔ)類(lèi)型

cookie 只能存儲(chǔ)字符串,數(shù)字這樣的標(biāo)量數(shù)據(jù).
session可以存儲(chǔ)數(shù)組/對(duì)象(除了資源型,其它7中類(lèi)型都可以)

注意:如果把對(duì)象存儲(chǔ)到session里,那么另一個(gè)讀取session的頁(yè)面,也必須有此對(duì)象的類(lèi)聲明 否則從session分析出一個(gè)對(duì)象,卻沒(méi)有與之對(duì)應(yīng)的類(lèi),則會(huì)提示__PHP_Incomplete_Class

從http協(xié)議角度看,cookie信息是放在頭信息里傳輸?shù)模匀?,使用cookie之前,不能有任何的主體信息輸出,空白,空行也不可行,如果還有出錯(cuò),可以檢查BOM.

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/22084.html

相關(guān)文章

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<