首頁 CMS教程 PHPCMS phpcms phpsso不能同步退出怎麼辦

phpcms phpsso不能同步退出怎麼辦

Feb 04, 2020 am 10:49 AM
phpcms

phpcms phpsso不能同步退出怎麼辦

phpcms不能同步退出怎麼辦? phpcmsv9 phpsso無法同步退出 ?

 

phpcmsv9自帶了一個phpsso_server用於多站點同步登錄,也可以整合ucenter。為了不改動太多的程式碼,今天整合ECSHOP和PHPCMS的時候還是用了這個phpsso。

ECSHOP很方便,簡單配置了一下就可以跟ucenter通訊了。這個phpsso搞了半天沒有成功和ucenter通信。經過幾個小時的琢磨,最後還是成功讓他們通信了。

註冊,登錄,都可以同步,只有在phpcms中登出登入時ECSHOP沒有退出,反之確可以。

問題出現的原因: 

 首頁看到了PHPCMS的登出的程式碼裡面有一句同步登出的語句:

$synlogoutstr = $this->client->ps_member_synlogout();
登入後複製

 這個同步登出的程式碼是這樣的

/** 
 * 同步退出 
 * @param string $uid 
 * @return string javascript用户同步退出js 
 */  
public function ps_member_synlogout() {  
    return $this->_ps_send("synlogout', array());  
}
登入後複製

注意這裡_ps_send的第二個參數是一個空的陣列

再看到phpsso_server中phpsso類別的建構子:

if(isset($_POST["data'])) {  
    parse_str(sys_auth($_POST['data'], 'DECODE', $this->applist[$this->appid]['authkey']), $this->data);  
              
    if(emptyempty($this->data) || !is_array($this->data)) {  
        exit('0');  
    }  
} else {  
    exit('0');  
}
登入後複製

這裡對$this->data有一個判斷,如果empty回傳true就直接回傳0不會再執行下面的同步退出程式碼了。而上面一步可以看到呼叫同步登出時傳入的data參數恰恰就是array(),empty當然會回傳true。於是呼叫同步退出就在這裡終止。

問題的解決方法: 

知道原因要解決了就很容易了,主要有兩種。

保險一點的方法是到ps_member_synlogout裡面為那個空的陣列隨便增加一個元素。

第二種就是去掉empty($this->data)這個判斷。

PHP中文網,大量的免費PHPCMS教學,歡迎線上學習!

以上是phpcms phpsso不能同步退出怎麼辦的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

phpcms怎麼跳到詳情頁 phpcms怎麼跳到詳情頁 Jul 27, 2023 pm 05:23 PM

phpcms跳到詳情頁方法:1、使用header函數來產生跳轉連結;2、循環遍歷內容清單;3、取得內容的標題和詳情頁連結;4、產生跳轉連結即可。

phpcms是什麼框架 phpcms是什麼框架 Apr 20, 2024 pm 10:51 PM

PHP CMS 是一種基於 PHP 的開源內容管理系統,用於管理網站內容,其特點包括易用性、強大功能、可擴充性、安全性高和免費開源。它可以節省時間、提升網站品質、增強協作並降低開發成本,廣泛應用於新聞網站、部落格、企業網站、電子商務網站和社群論壇等各種網站。

微信登入整合指南:PHPCMS實戰 微信登入整合指南:PHPCMS實戰 Mar 29, 2024 am 09:18 AM

標題:微信登入整合指南:PHPCMS實戰在今日的網路時代,社群化登入已成為網站必備的功能之一。微信作為國內最受歡迎的社群平台之一,其登入功能也被越來越多的網站所採用。本文將介紹如何在PHPCMS網站中整合微信登入功能,並提供具體的程式碼範例。第一步:註冊微信開放平台帳號首先,我們需要在微信開放平台上註冊一個開發者帳號,申請對應的開發權限。登入[微信開放平台]

phpcms不是免費嗎 phpcms不是免費嗎 Mar 01, 2023 am 10:24 AM

phpcms不是完全免費的。 phpcms屬於開源cms系統,但開源並不等於免費,它有兩個版本:免費版和商業版,免費版僅限於個人非商業用途,而商業版需要購買授權;個人可以作為研究使用,如果商業應用,需要支付一定費用。

phpcms是什麼意思 phpcms是什麼意思 Apr 20, 2024 pm 10:39 PM

PHPCMS 是一款免費開源的內容管理系統 (CMS),特色包括:開放原始碼、模組化、靈活、用戶友好和社群支援。它可用於創建各種類型的網站,包括企業網站、電子商務網站、部落格和社群論壇。技術需求包括:PHP 5.6 或更高版本、MySQL、MariaDB 或 PostgreSQL 資料庫以及 Apache 或 Nginx Web 伺服器。

phpcms有哪些版本 phpcms有哪些版本 Jun 14, 2023 pm 01:13 PM

phpcms有兩個版本比較知名,分別是:1、phpCMS4,支援自訂URL 規則,網站管理後台美觀易用,前端外掛許多,可自由擴充功能;2、phpCMS2008R1,支援多語言、多網站管理,頁面管理器便捷靈活方便,非常輕量,運轉速度快。

phpcms用什麼資料庫 phpcms用什麼資料庫 Feb 21, 2023 pm 06:57 PM

phpcms用mysql資料庫。 phpcms是PHP開源網站管理系統,採用PHP+MYSQL做為技術基礎來開發。 PHPCMS V9採用OOP方式進行基礎運行框架搭建,支援的PHP版本是PHP5以上、支援的MYSQL版本是MySql 4.1以上版本。

PHPCMS用戶名安全設定策略大揭秘 PHPCMS用戶名安全設定策略大揭秘 Mar 14, 2024 pm 12:06 PM

PHPCMS使用者名稱安全設定策略大揭密在網站開發中,使用者帳戶安全一直是開發者十分重視的一個面向。而使用者名稱的安全設定也是至關重要的,因為使用者名稱不僅僅是使用者登入的憑證,還可能暴露使用者的個人訊息,甚至造成安全隱患。本文將揭秘PHPCMS中的使用者名稱安全設定策略,並給予具體的程式碼範例供開發者參考。 1.防止常見使用者名為了提高使用者名稱的安全性,開發者應該避免使用者使用過於

See all articles