欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ucenter通信原理分析

 更新時間:2015年01月09日 10:33:32   投稿:junjie  
這篇文章主要介紹了ucenter通信原理分析,大名鼎鼎的ucenter相信做站長的都知道,本文即來分析它的實現(xiàn)原理,需要的朋友可以參考下

1、用戶登錄discuz,通過logging.php文件中的函數(shù)uc_user_login對post過來的數(shù)據(jù)進行驗證,也就是對username和password進行驗證。

2、如果驗證成功,將調(diào)用位于uc_client下client.php文件中的函數(shù)uc_user_synlogin,在這個函數(shù)中調(diào)用 uc_api_post(‘user', ‘synlogin', array(‘uid'=>$uid))。

3、然后這個函數(shù)后向Ucenter的index.php傳遞數(shù)據(jù),index.php接受傳遞的數(shù)據(jù),獲得model為user,action為synlogin的值。

4、然后Ucenter的index.php調(diào)用control目錄下的user.php類中的onsynlogin方法,通過foreach循環(huán),以javascript的方式通知uc應用列表中開啟同步登陸的應用進行同步登錄;即通過get方式傳遞給各個應用目錄中api下的uc.php一些數(shù)據(jù)。

5、uc.php接收通知并處理get過來的數(shù)據(jù),并在函數(shù)synlogin(位于uc.php中)通過函數(shù)_authcode加密數(shù)據(jù)(默認以UC_KEY作為密鑰),用函數(shù)_setcookie設置cookie。

6、各個應用用對應的密鑰解碼上面設置的cookie,得到用戶id等數(shù)據(jù);通過這個值來判斷用戶是否經(jīng)過其它應用登錄過,從而讓用戶可以自動登陸。

應用程序的logging.php ——>uc_client中的client.php——>Ucenter——>其他應用程序中的api/uc.php。

其實Ucenter實現(xiàn)同步登陸的原理就是cookie,一個應用登陸成功之后,向Ucenter傳遞數(shù)據(jù),讓Ucenter通知其他的應用也設置cookie,這樣用戶在訪問其他應用的時候通過已經(jīng)設置好的cookie實現(xiàn)自動登陸。

 

大致步驟 ,首先要安裝 ucenter 然后把uc_client 這個文件夾復制到自己的項目里面去 ,然后呢在配置幾個文件

client.php相當于函數(shù)庫
uc.php相當于回調(diào)文件
config.php 是配置文件

當你有2個應用都設置了同步登陸之后  當你登陸一個應用 然后執(zhí)行

復制代碼 代碼如下:

include ‘./config.inc.php';
include ‘./uc_client/client.php';
$usernames=”kyee”;
$passwords=”123456″;
list($uid, $username, $password, $email) = uc_user_login($usernames, $passwords);
if($uid > 0) {

setcookie(“username”,$username,time()+intval(24*3600));
echo uc_user_synlogin($uid);
echo ‘登錄成功';
} elseif($uid == -1) {
echo ‘用戶不存在,或者被刪除';
} elseif($uid == -2) {
echo ‘密碼錯誤';
} else {
echo ‘未定義';
}


uc_user_synlogin() 這個函數(shù) 代表著 要同步登陸到其他所有開啟同步登陸的函數(shù)  uc自己會在后臺把所有開啟同步登陸的應用都給循環(huán)遍歷一遍 然后 在頁面上輸出 
復制代碼 代碼如下:

<script type=”text/javascript” src=”http://www.lihuai.net/wp-content/uploads/sp/uc.php?time=1408327309&amp;code=bc6bFLa6WH343nin2GAn%2F82Y9cnCennPk1gcLGYHdQF4wsXsOSdTyqBb2Nuoxe0UJqzWMWncdx%2FfQ1GK6FS%2BqJqi2AxVG2Oq1pD9c1wZy%2BgjXs7qo4mm2sxFVHwW7JnjKGPDkVdDqtYeybkSISz7yrdb0ZFuXH2yr3Cq” reload=”1″></script>

<script type=”text/javascript” src=”http://www.lihuai.net/wp-content/uploads/sp/uc.php?time=1408327309&amp;code=206flCqeb%2Faft%2FDFPno9Bvqsb1b0o6XTZdIByOoD7EC11vMrjzC7PaKLo0LF3tGiHwlwZkwdW5VDHq866MGulsco5nekfkL341VWp7BPabnZPNtgG7m4jZpfdx6nVP0LTJLYI%2BkebI7uLm58atk8Ex4sKBj%2FfDkjH%2F8z” reload=”1″></script>

類似這種的js代碼 ,就是發(fā)送給每個開啟同步登陸的應用, 然后每個開啟同步登陸的應用的回調(diào)文件 uc.php 接受到后會進行解密,解密好后其實你就可以自己來寫代碼了,這個uc.php回調(diào)文件的代碼不一定非要按照他們的格式來寫 ,你也可以自己寫你自己的代碼 。

其實UC的原理很簡單 ,就是某個應用登陸后,然后后臺輪詢發(fā)送給同步登陸的應用的回調(diào)文件 ,回調(diào)文件接收到用戶ID之后,生成cookie或者session然后進入登陸模式。

相關文章

  • PHP使用array_merge重新排列數(shù)組下標的方法

    PHP使用array_merge重新排列數(shù)組下標的方法

    這篇文章主要介紹了PHP使用array_merge重新排列數(shù)組下標的方法,以實例形式較為詳細的分析了array_merge的功能,及針對數(shù)組下標進行重新排列操作的實現(xiàn)技巧,需要的朋友可以參考下
    2015-07-07
  • PHP實現(xiàn)的數(shù)據(jù)對象映射模式詳解

    PHP實現(xiàn)的數(shù)據(jù)對象映射模式詳解

    這篇文章主要介紹了PHP實現(xiàn)的數(shù)據(jù)對象映射模式,結合實例形式分析了php數(shù)據(jù)對象映射模式的原理、實現(xiàn)步驟及相關操作技巧,需要的朋友可以參考下
    2019-03-03
  • Windows下XDebug 手工配置與使用說明

    Windows下XDebug 手工配置與使用說明

    XDebug 是一個 php 代碼的調(diào)試工具, 對程序員調(diào)試程序有很大的幫助, 下面簡單說下 XDebug 在 Windows 下的配置.
    2010-07-07
  • Larave框架通過sanctum進行API鑒權詳解

    Larave框架通過sanctum進行API鑒權詳解

    Laravel是一套簡潔、優(yōu)雅的PHP WEB開發(fā)框架(PHP Web Framework),具有富于表達性且簡潔的語法,Laravel是易于理解且強大的,它提供了強大的工具用以開發(fā)大型,健壯的應用,例如具有自動驗證、路由、Session、緩存、數(shù)據(jù)庫遷移工具、單元測試等常用的工具和功能
    2022-07-07
  • 如何在PHP環(huán)境中使用ProtoBuf數(shù)據(jù)格式

    如何在PHP環(huán)境中使用ProtoBuf數(shù)據(jù)格式

    這篇文章主要介紹了如何在PHP環(huán)境中使用ProtoBuf數(shù)據(jù)格式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • php7 新增功能實例總結

    php7 新增功能實例總結

    這篇文章主要介紹了php7 新增功能,結合實例形式總結分析了php7 新增功能、特性及相關操作注意事項,需要的朋友可以參考下
    2020-05-05
  • PHP實現(xiàn)生成Excel文件并導出的示例詳解

    PHP實現(xiàn)生成Excel文件并導出的示例詳解

    這篇文章主要為大家詳細介紹了PHP實現(xiàn)生成Excel文件并導出的方法,文中的示例代碼講解詳細,對我們學習PHP有一定的幫助,需要的可以參考一下
    2023-01-01
  • php安全攻防利用文件上傳漏洞與繞過技巧詳解

    php安全攻防利用文件上傳漏洞與繞過技巧詳解

    這篇文章主要介紹了php安全攻防如何利用文件上傳漏洞與繞過技巧詳解,有需要的朋友可以參考借鑒下,希望大家多多進步早日升職加薪
    2021-10-10
  • PHP實現(xiàn)字符串翻轉功能的方法【遞歸與循環(huán)算法】

    PHP實現(xiàn)字符串翻轉功能的方法【遞歸與循環(huán)算法】

    這篇文章主要介紹了PHP實現(xiàn)字符串翻轉功能的方法,結合實例形式對比分析了php使用遞歸與循環(huán)算法實現(xiàn)字符串反轉功能的相關操作技巧,需要的朋友可以參考下
    2017-11-11
  • php基于GD庫畫五星紅旗的方法

    php基于GD庫畫五星紅旗的方法

    這篇文章主要介紹了php基于GD庫畫五星紅旗的方法,涉及php操作GD庫及數(shù)組的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02

最新評論