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 相关文章推荐
一个查看session内容的函数
Oct 09 PHP
PHP中的日期及时间
Nov 23 PHP
mysql5写入和读出乱码解决
Nov 25 PHP
php下将多个数组合并成一个数组的方法与实例代码
Feb 03 PHP
php使用curl抓取qq空间的访客信息示例
Feb 28 PHP
去除php注释和去除空格函数分享
Mar 13 PHP
PHP入门之常量简介和系统常量
May 12 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
在WordPress中使用PHP脚本来判断访客来自什么国家
Dec 10 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
PHP 实现公历日期与农历日期的互转换
Sep 13 PHP
php获取是星期几的的一些常用姿势
Dec 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中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
PHP开发微信支付的代码分享
2014/05/25 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
2016/09/22 PHP
PHP+Ajax异步带进度条上传文件实例
2016/11/01 PHP
PHP实现添加购物车功能
2017/03/06 PHP
浅谈PHP封装CURL
2019/03/06 PHP
jQuery之网页换肤实现代码
2011/04/30 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
查找Oracle高消耗语句的方法
2014/03/22 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
Jquery实现顶部弹出框特效
2015/08/08 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
jQuery+Ajax+PHP弹出层异步登录效果(附源码下载)
2016/05/27 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
Angularjs使用指令做表单校验的方法
2017/03/31 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
js+html5实现手机九宫格密码解锁功能
2018/07/30 Javascript
js实现搜索栏效果
2018/11/16 Javascript
实用Javascript调试技巧分享(小结)
2019/06/18 Javascript
ES5新增数组的实现方法
2020/05/12 Javascript
vuex的使用步骤
2021/01/06 Vue.js
对python 多线程中的守护线程与join的用法详解
2019/02/18 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
在python中使用nohup命令说明
2020/04/16 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
2020/05/20 Python
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
奉献家乡演讲稿
2014/09/16 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB