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 escape URL编码
Dec 10 PHP
在PHP中设置、使用、删除Cookie的解决方法
May 06 PHP
PHP版 汉字转码的实现详解
Jun 09 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
PHP查询大量数据内存耗尽问题的解决方法
Oct 28 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 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
JpGraph php柱状图使用介绍
2011/08/23 PHP
php中使用DOM类读取XML文件的实现代码
2011/12/14 PHP
才发现的超链接js导致网页中GIF动画停止的解决方法
2007/11/02 Javascript
jquery 图片Silhouette Fadeins渐显效果
2010/02/07 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
2013/01/04 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
JQuery性能优化的几点建议
2014/05/14 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
关于javascript原型的修改与重写(覆盖)差别详解
2016/08/31 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
了解Javascript中函数作为对象的魅力
2019/06/19 Javascript
Vue 实现分页与输入框关键字筛选功能
2020/01/02 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
Vue实现购物车实例代码两则
2020/05/30 Javascript
在vue项目中封装echarts的步骤
2020/12/25 Vue.js
使用pandas的DataFrame的plot方法绘制图像的实例
2018/05/24 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
俄罗斯药房连锁店:ASNA
2020/06/20 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
sort命令的作用和用法
2013/08/25 面试题
移动通信行业实习自我鉴定
2013/09/28 职场文书
业务代表的岗位职责
2013/11/16 职场文书
公司业务主管岗位职责
2013/12/07 职场文书
校运会广播稿100字
2014/01/27 职场文书
食品委托检验协议书范本
2014/09/12 职场文书
党员群众路线教育实践活动剖析材料
2014/10/10 职场文书
2014流动人口计划生育工作总结
2014/12/20 职场文书
中班上学期个人总结
2015/02/12 职场文书
学籍证明模板
2015/06/18 职场文书
如果用一句诗总结你的上半年,你会用哪句呢?
2019/07/16 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书
python绘制箱型图
2021/04/27 Python
python接口测试返回数据为字典取值方式
2022/02/12 Python