淺析關(guān)于cookie和session(2)_PHP教程
推薦:PHP5中的this,self和parent關(guān)鍵字詳解PHP5是一具備了大部分面向?qū)ο笳Z言的特性的語言,比PHP4有了很多的面向?qū)ο蟮奶匦?但是有部分概念也比較繞人,所以今天拿出來說說,說的不好,請高手見諒. (閱讀本文,需要了解PHP5的面向?qū)ο?/p>
2.1.1 通過cookie傳送sessin ID
使用session_start()調(diào)用session,服務(wù)器端在生成session文件的同時,生成session ID哈希值和默認(rèn)值為PHPSESSID的session name,并向客戶端發(fā)送變量為(默認(rèn)的是)PHPSESSID(session name),值為一個128位的哈希值.服務(wù)器端將通過該cookie與客戶端進(jìn)行交互.
session變量的值經(jīng)php內(nèi)部系列化后保存在服務(wù)器機(jī)器上的文本文件中,和客戶端的變量名默認(rèn)情況下為PHPSESSID的coolie進(jìn)行對應(yīng)交互.
即服務(wù)器自動發(fā)送了http頭:header('Set-Cookie: session_name()=session_id(); path=/');
即setcookie(session_name(),session_id());
當(dāng)從該頁跳轉(zhuǎn)到的新頁面并調(diào)用session_start()后,PHP將檢查與給定ID相關(guān)聯(lián)的服務(wù)器端存貯的session數(shù)據(jù),如果沒找到,則新建一個數(shù)據(jù)集.
2.1.2 通過URL傳送session ID
只有在用戶禁止使用cookie的時候才用這種方法,因為瀏覽器cookie已經(jīng)通用,為安全起見,可不用該方法.
<a href="p.php?<?php print session_name() ?>=<?php print session_id() ?>">xxx</a>,也可以通過POST來傳遞session值.
2.2 session基本用法實例
|
以下為引用的內(nèi)容: <?php // 如果客戶端使用cookie,可直接傳遞session到page2.php // 如果客戶端禁用cookie <?php |
2.3 使用session函數(shù)控制頁面緩存.
很多情況下,我們要確定我們的網(wǎng)頁是否在客戶端緩存,或要設(shè)置緩存的有效時間,比如我們的網(wǎng)頁上有些敏感內(nèi)容并且要登錄才能查看,如果緩存到本地了,可以直接打開本地的緩存就可以不登錄而瀏覽到網(wǎng)頁了.
使用session_cache_limiter('private');可以控制頁面客戶端緩存,必須在session_start()之前調(diào)用.
更多參數(shù)見http://blog.chinaunix.net/u/27731/showart.php?id=258087的客戶端緩存控制.
控制客戶端緩存時間用 session_cache_expire(int);單位(s).也要在session_start()前調(diào)用.
分享:解析PHP安全編程的加密功能預(yù)備知識 在詳細(xì)介紹PHP的安全功能之前,我們需要花 點時間來向沒有接觸過這方面內(nèi)容的讀者介紹一些有關(guān)密碼學(xué)的基本知識,如果對密碼學(xué)的基本概念已經(jīng)非常熟悉,就可以跳過去這一部分
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時間
- PHP中獎概率的抽獎算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
- 相關(guān)鏈接:
- 教程說明:
PHP教程-淺析關(guān)于cookie和session(2)
。