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 相关文章推荐
php动态生成JavaScript代码
Mar 09 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
PHP中替换换行符的几种方法小结
Oct 15 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
Jul 03 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
Nov 24 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
php基于curl实现的股票信息查询类实例
Nov 11 PHP
PHP查询分页的实现代码
Jun 09 PHP
PHP面向对象之工作单元(实例讲解)
Jun 26 PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
Jul 15 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运行环境配置的详解
2013/06/04 PHP
深入php list()函数的详解
2013/06/05 PHP
PHP中的闭包(匿名函数)浅析
2015/02/07 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
将中国标准时间转换成标准格式的代码
2014/03/20 Javascript
Javascript让DEDECMS告别手写Tag
2014/09/01 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
2016/05/11 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
利用Electron简单撸一个Markdown编辑器的方法
2019/06/10 Javascript
如何基于javascript实现贪吃蛇游戏
2020/02/09 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
爬虫代理的cookie如何生成运行
2020/09/22 Python
html5 桌面提醒:Notifycations应用介绍
2012/11/27 HTML / CSS
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
初婚未育证明
2014/01/15 职场文书
委托书样本
2014/04/02 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
先进个人主要事迹怎么写
2015/11/04 职场文书
2019单位介绍信怎么写
2019/06/24 职场文书
详解MySQL中的主键与事务
2021/05/27 MySQL
Python 多线程处理任务实例
2021/11/07 Python
Sql Server 行数据的某列值想作为字段列显示的方法
2022/04/20 SQL Server