php出现web系统多域名登录失败的解决方法


Posted in PHP onSeptember 30, 2014

本文实例讲述了php出现web系统多域名登录失败的解决方法,分享给大家供大家参考。具体分析如下:

下面只是简单的逻辑结构,对于正式的系统需要做具体的处理。

这里需要注意的是:加解密一定需要做安全验证。但是这个方法也不够完美,两个站点必须有相同一级域名;另外这种完全基于cookie的方式,安全性不够高

function login()
{
  $info = callloginserver(); //访问登录服务器
  if(!empty($info))  //登录成功了
}
//用户没有登录,则在本系统中登录并调用登录服务器接口
function login()  //正常的登录
{
  .......//验证用户的合法性
  $_session['uid'] = $user_id;
  setcookie('sign', encrypt($pass9), '', '/', 'the.com');
}

先检查用户是否在登录系统中登录

funtion sign()
{
 $sign = $_cookie['sign'];
 if(!empty($sign))
 {
   $sign = decrypt($sign);
  ..........///登录成功
 }
}

用户没有登录,则在本系统中登录并调用登录服务器接口

function loging() //本系统登录
{ 
 .....//登录成功
 callseverlogin();//通知用户登录
}

所有的站点共享一个登录系统;当用户在其中的一个站点登录成功时, 该系统调用其他站点的登录接口,完成用户在其他站点的登录,同时设置相应的登录信息;或者在用户登录时,只在该系统保存用户登录信息,当用户在其他站点登录时,必须请求该系统接口,获取用户是否登录的信息。前一种方式的缺点是:不管用户有没有使用其他站点,那些站点都需要保存用户状态;后一种方式就把所有的压力都转移到登录系统上面来。而如果要实现用户退出的统一操作,就需要站点调用登录系统的退出接口,然后登录系统接口调用其他站点的退出接口;或者设置一个标记,如果这个标记不存在则标示用户退出,此时只要把该标示清空即可,其他站点发现该标示不存在就知道用户已经退出系统。

这种处理方式需要在登录系统和个站点之间规定登录接口,和注销接口。通过这些接口,各站点可以很方便的处理用户登录或退出。

希望本文所述对大家的PHP程序设计有所帮助。

PHP 相关文章推荐
URL Rewrite的设置方法
Jan 02 PHP
如何使用PHP批量去除文件UTF8 BOM信息
Aug 05 PHP
PHP过滤★等特殊符号的正则
Jan 27 PHP
PHP同时连接多个mysql数据库示例代码
Mar 17 PHP
php实现的一个简单json rpc框架实例
Mar 30 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
Jun 05 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
PHP反射学习入门示例
Jun 14 PHP
PHP结合Redis+MySQL实现冷热数据交换应用案例详解
Jul 09 PHP
PHP实现简单日历类编写
Aug 28 PHP
php中运用http调用的GET和POST方法示例
Sep 29 #PHP
PHP中魔术变量__METHOD__与__FUNCTION__的区别
Sep 29 #PHP
PHP中echo,print_r与var_dump区别分析
Sep 29 #PHP
PHP5.3安装Zend Guard Loader图文教程
Sep 29 #PHP
推荐25款php中非常有用的类库
Sep 29 #PHP
PHP连接和操作MySQL数据库基础教程
Sep 29 #PHP
PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
Sep 29 #PHP
You might like
php smarty模版引擎中的缓存应用
2009/12/11 PHP
php简单开启gzip压缩方法(zlib.output_compression)
2013/04/13 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
基于jQuery实现图片的前进与后退功能
2013/04/24 Javascript
jQuery使用before()和after()在元素前后添加内容的方法
2015/03/26 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
解决npm安装Electron缓慢网络超时导致失败的问题
2018/02/06 Javascript
vue cli 全面解析
2018/02/28 Javascript
JavaScript中concat复制数组方法浅析
2019/01/20 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
layui实现数据分页功能
2019/07/27 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
解决vscode进行vue格式化,会自动补分号和双引号的问题
2020/10/26 Javascript
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
Python设计足球联赛赛程表程序的思路与简单实现示例
2016/06/28 Python
Python解决两个整数相除只得到整数部分的实例
2018/11/10 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
Python新手学习函数默认参数设置
2020/06/03 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
文言文形式的学生求职信
2013/12/03 职场文书
家长给幼儿园的表扬信
2014/01/09 职场文书
平面设计专业求职信
2014/08/09 职场文书
委托证明模板
2014/09/16 职场文书
解除劳动合同证明书
2014/09/26 职场文书
2019年幼儿园管理条例范本!
2019/07/17 职场文书
Java并发编程之Executor接口的使用
2021/06/21 Java/Android
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server