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 cron中的批处理
Sep 16 PHP
PHP基础学习小结
Apr 17 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
May 29 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
php读取csc文件并输出
May 21 PHP
PHP的Yii框架入门使用教程
Feb 15 PHP
iOS10推送通知开发教程
Sep 19 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 PHP
几行代码轻松实现PHP文件打包下载zip
Mar 01 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 PHP
php使用array_chunk函数将一个数组分割成多个数组
Dec 05 PHP
PHP面向对象程序设计之构造方法和析构方法详解
Jun 13 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分页显示制作详细讲解
2006/10/09 PHP
phpnow php探针环境检测代码
2014/11/04 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
php 删除cookie方法详解
2014/12/01 PHP
php实现对象克隆的方法
2015/06/20 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
用JS剩余字数计算的代码
2008/07/03 Javascript
javascript 冒号 使用说明
2009/06/06 Javascript
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
JS 获取浏览器和屏幕宽高等信息代码
2014/03/31 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
javascript设计模式之中介者模式Mediator
2014/12/30 Javascript
浅谈Javascript 数组与字典
2015/01/29 Javascript
javascript中使用new与不使用实例化对象的区别
2015/06/22 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
js原生实现移动端手指滑动轮播图效果的示例
2018/01/02 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
解决微信小程序防止无法回到主页的问题
2018/09/28 Javascript
Vue+Openlayers自定义轨迹动画
2020/09/24 Javascript
python编写爬虫小程序
2015/05/14 Python
Python基于select实现的socket服务器
2016/04/13 Python
Python模拟登陆实现代码
2017/06/14 Python
解决pycharm安装后代码区不能编辑的问题
2018/10/28 Python
Django的Modelforms用法简介
2019/07/27 Python
解决pandas展示数据输出时列名不能对齐的问题
2019/11/18 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
python 实现屏幕录制示例
2019/12/23 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
三方股东合作协议书
2014/10/28 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
Python基础之常用库常用方法整理
2021/04/30 Python
【D4DJ】美少女DJ企划 动画将于明年冬季开播第2季
2022/04/11 日漫