<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="解决php出现web系统多域名登录失败的方法（一键登录失败的问题）" id="card1">
<p> 游客</p><p>
标题:解决php出现web系统多域名登录失败的方法（一键登录失败的问题）<br/>
正文:<br/>
本文实例讲述了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程序设计有所帮助。<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1789&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1789&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=1789&amp;Page=1">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=1789">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=1789">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>