PHP通過session id 實現(xiàn)session共享和登錄驗證的代碼
更新時間:2012年06月03日 22:19:44 作者:
PHP通過session id 實現(xiàn)session共享和登錄驗證的代碼,需要的朋友可以參考下
先說說,這個機制的用途吧,到現(xiàn)在為止戰(zhàn)地知道這個機制有兩個方面的用途:
首先,多服務器共享session問題,這個大家應該都能夠理解的,當一個網(wǎng)站的用戶量過大,就會使用服務器集群,例如專門有一個登錄用的服務器。用戶通過登錄服務器登錄之后,登錄服務器保存了用戶的登錄信息session,而其他受訪問的服務器,例如電影服務器沒有這個session,那么我們就要通過一個session的唯一標識來共享這個session了——具體session的共享超出了本文的范圍,請自行查閱資料。
第二個用途就是,驗證同一用戶的不同會話,這個比較難理解。這樣說吧,一個用戶并非通過瀏覽器來請求連接,而是通過socket或者其它方式來請求數(shù)據(jù)的時候,我們首先要對他進行用戶登錄驗證,驗證成功之后,就下發(fā)一個sessionid給他,然后他每次請求的時候就攜帶這個sessionid,我們通過這個sessionid來判斷session是否已經存在,如果存在我們就認定用戶已經登錄……
對于第一個問題,我們可以把sessionid保存在數(shù)據(jù)庫中得以實現(xiàn),這個方法比較安全而且應用廣泛,但是不是我們討論的范圍哦
第二個問題,其實已經很簡單了,看一下代碼
首先驗證的時候產生一個sessionid;
<?php
Session_start();
$sessionId = session_id();//得到sessionid
//將session下發(fā)給客戶端
.........
?>
客戶端攜帶sessionid這個變量來請求數(shù)據(jù)
<?php
Session_id(‘$sessionid');//注意這個時候session_id()這個函數(shù)是帶有參數(shù)的
Session_start();//這個函數(shù)必須在session_id()之后
?>
這個時候session已經是登錄驗證時候的session了。
注意:在sessionServer.php中如果使用thinkphp等其他自動啟動session_start();函數(shù)的框架時,必須先調用session_destory()函數(shù)來清空session。
首先,多服務器共享session問題,這個大家應該都能夠理解的,當一個網(wǎng)站的用戶量過大,就會使用服務器集群,例如專門有一個登錄用的服務器。用戶通過登錄服務器登錄之后,登錄服務器保存了用戶的登錄信息session,而其他受訪問的服務器,例如電影服務器沒有這個session,那么我們就要通過一個session的唯一標識來共享這個session了——具體session的共享超出了本文的范圍,請自行查閱資料。
第二個用途就是,驗證同一用戶的不同會話,這個比較難理解。這樣說吧,一個用戶并非通過瀏覽器來請求連接,而是通過socket或者其它方式來請求數(shù)據(jù)的時候,我們首先要對他進行用戶登錄驗證,驗證成功之后,就下發(fā)一個sessionid給他,然后他每次請求的時候就攜帶這個sessionid,我們通過這個sessionid來判斷session是否已經存在,如果存在我們就認定用戶已經登錄……
對于第一個問題,我們可以把sessionid保存在數(shù)據(jù)庫中得以實現(xiàn),這個方法比較安全而且應用廣泛,但是不是我們討論的范圍哦
第二個問題,其實已經很簡單了,看一下代碼
首先驗證的時候產生一個sessionid;
復制代碼 代碼如下:
<?php
Session_start();
$sessionId = session_id();//得到sessionid
//將session下發(fā)給客戶端
.........
?>
客戶端攜帶sessionid這個變量來請求數(shù)據(jù)
復制代碼 代碼如下:
<?php
Session_id(‘$sessionid');//注意這個時候session_id()這個函數(shù)是帶有參數(shù)的
Session_start();//這個函數(shù)必須在session_id()之后
?>
這個時候session已經是登錄驗證時候的session了。
注意:在sessionServer.php中如果使用thinkphp等其他自動啟動session_start();函數(shù)的框架時,必須先調用session_destory()函數(shù)來清空session。
相關文章
php實現(xiàn)自定義中獎項數(shù)和概率的抽獎函數(shù)示例
這篇文章主要介紹了php實現(xiàn)自定義中獎項數(shù)和概率的抽獎函數(shù),涉及php字符串、數(shù)組的概率運算相關操作技巧,需要的朋友可以參考下2017-05-05PHP實現(xiàn)截取中文字符串不出現(xiàn)?號的解決方法
這篇文章主要介紹了PHP實現(xiàn)截取中文字符串不出現(xiàn)?號的解決方法,涉及php字符串遍歷及編碼轉換等相關操作技巧,需要的朋友可以參考下2016-12-12