日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

淺析關(guān)于cookie和session(2)_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦: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
// page1.php
session_start();
echo 'Welcome to page #1';
/* 創(chuàng)建session變量并給session變量賦值 */
_SESSION['favcolor'] = 'green';
_SESSION['animal'] = 'cat';
_SESSION['time'] = time();

// 如果客戶端使用cookie,可直接傳遞session到page2.php
echo '<br /><a href="page2.php">page 2</a>';

// 如果客戶端禁用cookie
echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
/*
默認(rèn)php5.2.1下,SID只有在cookie被寫入的同時才會有值,如果該session
對應(yīng)的cookie已經(jīng)存在,那么SID將為(未定義)空
*/
?>

<?php
// page2.php
session_start();
print _SESSION['animal']; // 打印出單個session
var_dump(_SESSION); // 打印出page1.php傳過來的session值
?>

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)非常熟悉,就可以跳過去這一部分

來源:模板無憂//所屬分類:PHP教程/更新時間:2009-09-10
相關(guān)PHP教程