主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
phpcms不能同步退出怎么办?Phpcmsv9phsso不能同步退出?
Phpcmsv9附带了一个phpsso_server用于多站点同步登录,并且还可以集成ucenter。为了不改变太多代码,我们今天在集成ECSHOP和PHPCMS时仍然使用这个phpsso。
ECSHOP非常方便。经过简单配置后,您可以与ucenter进行通信。此phpsso长时间无法与ucenter通信。经过几个小时的思考,他们终于成功地让他们进行了交流。
注册和登录可以同步,但是在phpcms中注销时ECSHOP不会退出,反之亦然。
问题的原因:
主页上有PHPCMS的注销代码,并有同步注销的声明:
$ synlogoutstr = $ this-& gt;客户端-& gt;PS _ member _ syn logout();同步注销的代码如下
/* * *同步退出* @ param string $ uid * @ return string JavaScript用户同步退出JS */public function PS _ member _ syn logout(){ return $ this-》_ PS _ send(& quot;同步注销&。#39;,array());}注意这里的_ps_send的第二个参数是一个空数组。
然后查看phpsso_server中phpsso类的构造函数:
if(isset($ _ POST【& quot;数据与信息中心。#39;】)){ parse _ str(sys _ auth($ _ POST【& amp;#39;数据与信息中心。#39;】,& amp#39;解码& amp#39;,$ this-& gt;applist【$ this-& gt;appid】【& amp;#39;authkey & amp#39;】),$ this-& gt;数据);if(empty empty($ this-& gt;数据)||!is _ array($ this-& gt;data){ exit(& amp;#39;0 & amp#39;);} } else { exit(& amp;#39;0 & amp#39;);}对$this-》数据有判断。如果empty返回true,将直接返回0,并且不会执行下面的同步退出代码。在上一步中,您可以看到调用同步注销时传入的数据参数正好是array(),empty当然会返回true。因此呼叫同步退出在此终止。
问题的解决方案:
知道原因就容易解决问题。主要有两种类型。
最安全的方法是在ps_member_synlogout中向空数组添加一个元素。
二是摆脱空虚($ this-& gt;资料图)这个判断。
PHP中文网站,大量免费PHPCMS教程,欢迎在线学习!
这几篇文章你可能也喜欢:
- PHPCMS漏洞文件poster.php(php readfile漏洞)
- phpcms有什么用(如何使用phpcms)
- phpcms如何登录后台?
- 如何将phpcms连接到数据库(phpcms使用教程)
- 如何向phpcms添加列(php添加页面)
本文由主机参考刊发,转载请注明:phpcms phpsso不能同步退出怎么办? https://zhujicankao.com/114635.html
评论前必须登录!
注册