首先,多服務(wù)器共享session問題,這個大家應(yīng)該都能夠理解的,當(dāng)一個網(wǎng)站的用戶量過大,就會使用服務(wù)器集群,例如專門有一個登錄用的服務(wù)器。用戶通過登錄 " /> 在线看无码的免费网站,色噜噜狠狠狠综合欧洲色8,国产精品福利影院

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP通過session id 實(shí)現(xiàn)session共享和登錄驗(yàn)證的代碼

先說說,這個機(jī)制的用途吧,到現(xiàn)在為止戰(zhàn)地知道這個機(jī)制有兩個方面的用途:

首先,多服務(wù)器共享session問題,這個大家應(yīng)該都能夠理解的,當(dāng)一個網(wǎng)站的用戶量過大,就會使用服務(wù)器集群,例如專門有一個登錄用的服務(wù)器。用戶通過登錄服務(wù)器登錄之后,登錄服務(wù)器保存了用戶的登錄信息session,而其他受訪問的服務(wù)器,例如電影服務(wù)器沒有這個session,那么我們就要通過一個session的唯一標(biāo)識來共享這個session了――具體session的共享超出了本文的范圍,請自行查閱資料。

第二個用途就是,驗(yàn)證同一用戶的不同會話,這個比較難理解。這樣說吧,一個用戶并非通過瀏覽器來請求連接,而是通過socket或者其它方式來請求數(shù)據(jù)的時候,我們首先要對他進(jìn)行用戶登錄驗(yàn)證,驗(yàn)證成功之后,就下發(fā)一個sessionid給他,然后他每次請求的時候就攜帶這個sessionid,我們通過這個sessionid來判斷session是否已經(jīng)存在,如果存在我們就認(rèn)定用戶已經(jīng)登錄……

對于第一個問題,我們可以把sessionid保存在數(shù)據(jù)庫中得以實(shí)現(xiàn),這個方法比較安全而且應(yīng)用廣泛,但是不是我們討論的范圍哦

第二個問題,其實(shí)已經(jīng)很簡單了,看一下代碼

首先驗(yàn)證的時候產(chǎn)生一個sessionid;
復(fù)制代碼 代碼如下:
<?php
Session_start();
$sessionId = session_id();//得到sessionid
//將session下發(fā)給客戶端
.........
?>

客戶端攜帶sessionid這個變量來請求數(shù)據(jù)
復(fù)制代碼 代碼如下:
<?php
Session_id(‘$sessionid');//注意這個時候session_id()這個函數(shù)是帶有參數(shù)的
Session_start();//這個函數(shù)必須在session_id()之后
?>

這個時候session已經(jīng)是登錄驗(yàn)證時候的session了。
注意:在sessionServer.php中如果使用thinkphp等其他自動啟動session_start();函數(shù)的框架時,必須先調(diào)用session_destory()函數(shù)來清空session。

php技術(shù)PHP通過session id 實(shí)現(xiàn)session共享和登錄驗(yàn)證的代碼,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 监利县| 门头沟区| 唐山市| 乐业县| 文登市| 萍乡市| 南部县| 绵竹市| 临潭县| 伊宁县| 名山县| 闸北区| 阜宁县| 澎湖县| 辽阳市| 雅江县| 凤翔县| 宣威市| 商丘市| 岗巴县| 泰州市| 连平县| 汝城县| 罗江县| 运城市| 德兴市| 长丰县| 清苑县| 道真| 库尔勒市| 高要市| 庆元县| 勐海县| 抚远县| 收藏| 本溪市| 麻江县| 额济纳旗| 合水县| 盐城市| 郴州市|