<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        php會話技術(shù)主要包含哪些

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 15:21:14
        文檔

        php會話技術(shù)主要包含哪些

        php會話技術(shù)主要包含哪些:本文主要講解php回話機制cookie和session。cookie簡介Cookie是存儲在客戶端瀏覽器中的數(shù)據(jù),我們通過Cookie來跟蹤與存儲用戶數(shù)據(jù)。一般情況下,Cookie通過HTTP headers從服務端返回到客戶端。多數(shù)web程序都支持Cookie的操作,因為Cookie是存在于
        推薦度:
        導讀php會話技術(shù)主要包含哪些:本文主要講解php回話機制cookie和session。cookie簡介Cookie是存儲在客戶端瀏覽器中的數(shù)據(jù),我們通過Cookie來跟蹤與存儲用戶數(shù)據(jù)。一般情況下,Cookie通過HTTP headers從服務端返回到客戶端。多數(shù)web程序都支持Cookie的操作,因為Cookie是存在于

        本文主要講解php回話機制cookie和session。

        cookie簡介

        Cookie是存儲在客戶端瀏覽器中的數(shù)據(jù),我們通過Cookie來跟蹤與存儲用戶數(shù)據(jù)。一般情況下,Cookie通過HTTP headers從服務端返回到客戶端。多數(shù)web程序都支持Cookie的操作,因為Cookie是存在于HTTP的標頭之中,所以必須在其他信息輸出以前進行設(shè)置,類似于header函數(shù)的使用限制。

        PHP通過setcookie函數(shù)進行Cookie的設(shè)置,任何從瀏覽器發(fā)回的Cookie,PHP都會自動的將他存儲在$_COOKIE的全局變量之中,因此我們可以通過$_COOKIE['key']的形式來讀取某個Cookie值。

        PHP中的Cookie具有非常廣泛的使用,經(jīng)常用來存儲用戶的登錄信息,購物車等,且在使用會話Session時通常使用Cookie來存儲會話id來識別用戶,Cookie具備有效期,當有效期結(jié)束之后,Cookie會自動的從客戶端刪除。同時為了進行安全控制,Cookie還可以設(shè)置域跟路徑,我們會在稍后的章節(jié)中詳細的講解他們。

        為了網(wǎng)站安全性起見,本站點暫時不提供Cookie變量顯示功能,請自行在本地測試;

        設(shè)置cookie

        PHP設(shè)置Cookie最常用的方法就是使用setcookie函數(shù),setcookie具有7個可選參數(shù),我們常用到的為前5個:

        name( Cookie名)可以通過$_COOKIE['name'] 進行訪問

        value(Cookie的值)

        expire(過期時間)Unix時間戳格式,默認為0,表示瀏覽器關(guān)閉即失效

        path(有效路徑)如果路徑設(shè)置為'/',則整個網(wǎng)站都有效

        domain(有效域)默認整個域名都有效,如果設(shè)置了'www.imooc.com',則只在www子域中有效

        $value = 'test';
        setcookie("TestCookie", $value);
        setcookie("TestCookie", $value, time()+3600); //有效期一小時
        setcookie("TestCookie", $value, time()+3600, "/path/", "imooc.com"); //設(shè)置路徑與域

        PHP中還有一個設(shè)置Cookie的函數(shù)setrawcookie,setrawcookie跟setcookie基本一樣,唯一的不同就是value值不會自動的進行urlencode,因此在需要的時候要手動的進行urlencode。

        setrawcookie('cookie_name', rawurlencode($value), time()+60*60*24*365);

        因為Cookie是通過HTTP標頭進行設(shè)置的,所以也可以直接使用header方法進行設(shè)置。

        header("Set-Cookie:cookie_name=value");

        cookie的刪除與過期時間

        通過前面的章節(jié),我們了解了設(shè)置cookie的函數(shù),但是我們卻發(fā)現(xiàn)php中沒有刪除Cookie的函數(shù),在PHP中刪除cookie也是采用setcookie函數(shù)來實現(xiàn)。

        setcookie('test', '', time()-1);

        可以看到將cookie的過期時間設(shè)置到當前時間之前,則該cookie會自動失效,也就達到了刪除cookie的目的。之所以這么設(shè)計是因為cookie是通過HTTP的標頭來傳遞的,客戶端根據(jù)服務端返回的Set-Cookie段來進行cookie的設(shè)置,如果刪除cookie需要使用新的Del-Cookie來實現(xiàn),則HTTP頭就會變得復雜,實際上僅通過Set-Cookie就可以簡單明了的實現(xiàn)Cookie的設(shè)置、更新與刪除。

        了解原理以后,我們也可以直接通過header來刪除cookie。

        header("Set-Cookie:test=1393832059; expires=".gmdate('D, d M Y H:i:s \G\M\T', time()-1));

        這里用到了gmdate,用來生成格林威治標準時間,以便排除時差的影響。

        session與cookie的異同

        cookie將數(shù)據(jù)存儲在客戶端,建立起用戶與服務器之間的聯(lián)系,通常可以解決很多問題,但是cookie仍然具有一些局限:

        cookie相對不是太安全,容易被盜用導致cookie欺騙

        單個cookie的值最大只能存儲4k

        每次請求都要進行網(wǎng)絡傳輸,占用帶寬

        session是將用戶的會話數(shù)據(jù)存儲在服務端,沒有大小限制,通過一個session_id進行用戶識別,PHP默認情況下session id是通過cookie來保存的,因此從某種程度上來說,seesion依賴于cookie。但這不是絕對的,session id也可以通過參數(shù)來實現(xiàn),只要能將session id傳遞到服務端進行識別的機制都可以使用session。

        使用session

        在PHP中使用session非常簡單,先執(zhí)行session_start方法開啟session,然后通過全局變量$_SESSION進行session的讀寫。

        session_start();
        $_SESSION['test'] = time();
        var_dump($_SESSION);

        session會自動的對要設(shè)置的值進行encode與decode,因此session可以支持任意數(shù)據(jù)類型,包括數(shù)據(jù)與對象等。

        session_start();
        $_SESSION['ary'] = array('name' => 'jobs');
        $_SESSION['obj'] = new stdClass();
        var_dump($_SESSION);

        默認情況下,session是以文件形式存儲在服務器上的,因此當一個頁面開啟了session之后,會獨占這個session文件,這樣會導致當前用戶的其他并發(fā)訪問無法執(zhí)行而等待。

        刪除與銷毀session

        刪除某個session值可以使用PHP的unset函數(shù),刪除后就會從全局變量$_SESSION中去除,無法訪問。

        session_start();
        $_SESSION['name'] = 'jobs';
        unset($_SESSION['name']);
        echo $_SESSION['name']; //提示name不存在

        如果要刪除所有的session,可以使用session_destroy函數(shù)銷毀當前session,session_destroy會刪除所有數(shù)據(jù),但是session_id仍然存在。

        session_start();
        $_SESSION['name'] = 'jobs';
        $_SESSION['time'] = time();
        session_destroy();

        值得注意的是,session_destroy并不會立即的銷毀全局變量$_SESSION中的值,只有當下次再訪問的時候,$_SESSION才為空,因此如果需要立即銷毀$_SESSION,可以使用unset函數(shù)。

        session_start();
        $_SESSION['name'] = 'jobs';
        $_SESSION['time'] = time();
        unset($_SESSION);
        session_destroy(); 
        var_dump($_SESSION); //此時已為空

        如果需要同時銷毀cookie中的session_id,通常在用戶退出的時候可能會用到,則還需要顯式的調(diào)用setcookie方法刪除session_id的cookie值。

        使用session來存儲用戶的登錄信息

        session可以用來存儲多種類型的數(shù)據(jù),因此具有很多的用途,常用來存儲用戶的登錄信息,購物車數(shù)據(jù),或者一些臨時使用的暫存數(shù)據(jù)等。

        用戶在登錄成功以后,通常可以將用戶的信息存儲在session中,一般的會單獨的將一些重要的字段單獨存儲,然后所有的用戶信息獨立存儲。

        $_SESSION['uid'] = $userinfo['uid'];
        $_SESSION['userinfo'] = $userinfo;

        一般來說,登錄信息既可以存儲在sessioin中,也可以存儲在cookie中,他們之間的差別在于session可以方便的存取多種數(shù)據(jù)類型,而cookie只支持字符串類型,同時對于一些安全性比較高的數(shù)據(jù),cookie需要進行格式化與加密存儲,而session存儲在服務端則安全性較高。

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        php會話技術(shù)主要包含哪些

        php會話技術(shù)主要包含哪些:本文主要講解php回話機制cookie和session。cookie簡介Cookie是存儲在客戶端瀏覽器中的數(shù)據(jù),我們通過Cookie來跟蹤與存儲用戶數(shù)據(jù)。一般情況下,Cookie通過HTTP headers從服務端返回到客戶端。多數(shù)web程序都支持Cookie的操作,因為Cookie是存在于
        推薦度:
        標簽: php 包含 會話
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 色哟哟国产精品免费观看| 亚洲日韩av无码中文| 一级毛片大全免费播放下载| 亚洲精品无码mv在线观看网站| 国产亚洲福利精品一区二区| 日本免费一区二区三区最新| 性色av极品无码专区亚洲| 日韩高清免费在线观看| 色费女人18女人毛片免费视频| 免费成人在线观看| 少妇亚洲免费精品| 亚洲精品无码不卡在线播放HE| 国产一精品一AV一免费| 亚洲免费视频在线观看| 亚洲一区二区免费视频| 77777亚洲午夜久久多喷| 免费无码av片在线观看| 亚洲AV无一区二区三区久久| 色欲A∨无码蜜臀AV免费播| 亚洲一区二区电影| 国产香蕉九九久久精品免费| 亚洲AV无码AV吞精久久| 亚洲一区二区三区无码中文字幕| 今天免费中文字幕视频| 亚洲国产成人超福利久久精品| 成年在线网站免费观看无广告| 免费的黄色网页在线免费观看| 久久99国产亚洲高清观看首页| 99在线在线视频免费视频观看| 亚洲三级视频在线观看| 国产精品免费电影| 免费黄网站在线看| 亚洲人成电影网站色www| 亚洲一区二区三区无码影院| 99久久精品免费视频| 亚洲爆乳无码精品AAA片蜜桃| 国产亚洲精品福利在线无卡一| 最近免费中文字幕高清大全 | 亚洲av午夜福利精品一区| 1000部拍拍拍18勿入免费视频下载 | 久久av无码专区亚洲av桃花岛|