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 相关文章推荐
使用TinyButStrong模板引擎来做WEB开发
Mar 16 PHP
PHP header函数分析详解
Aug 06 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
May 06 PHP
PHP取整函数:ceil,floor,round,intval的区别详细解析
Aug 31 PHP
Yii框架调试心得--在页面输出执行sql语句
Dec 25 PHP
PHP判断IP并转跳到相应城市分站的方法
Mar 25 PHP
php采集神器cURL使用方法详解
Feb 19 PHP
PHP+Ajax+JS实现多图上传
May 07 PHP
Netbeans 8.2与PHP相关的新特性介绍
Oct 08 PHP
老生常谈PHP位运算的用途
Mar 12 PHP
Yii框架函数简单用法分析
Sep 09 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 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遍历二维数组的代码
2011/04/22 PHP
Yii2配置Nginx伪静态的方法
2017/05/05 PHP
PHP预定义超全局数组变量小结
2018/08/20 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
判断在css加载完毕后执行后续代码示例
2014/09/03 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
javascript 面向对象封装与继承
2014/11/27 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
2015/09/16 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
jQuery extend()详解及简单实例
2017/05/06 jQuery
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
Python Web版语音合成实例详解
2019/07/16 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
2020/04/22 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
Visual-Click葡萄牙:欧洲领先的在线眼镜商
2020/02/17 全球购物
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
2013/03/19 面试题
AJAX都有哪些有点和缺点
2012/11/03 面试题
艺术设计专业个人求职信
2013/09/21 职场文书
公务员个人自我评价分享
2013/11/06 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS