TP+UC+DZ同步登陆问题汇总

TP为主站,用户在此注册,注册信息主要是用户名和密码,原样传至UC即可,UC会自动加密,加密算法为md5(md5($passwd).$salt);

登陆时,倘若UC查到用户信息且信息正确,会返回一个$login['synlogin']变量,

该数据格式为<script type="text/javascript" src="http://td.mytest.com/bbs/api/uc.php?time=..." reload="1"></script>,

如果没有使用AJAX做登录,那么在主站登陆后再echo $login['synlogin']即可发出http请求,在DZ那边登录成功,两边实现了同步登陆。

倘若涉及到AJAX登录,那么此时echo $login['synlogin']便不能生效,尝试了使用curl访问<script>中的http链接,没能生效,file_get_contents等也一样。

最终,在ajax执行回调时,截取http链接,用

var xmlHttp = null; 

xmlHttp = new XMLHttpRequest();

xmlHttp.open( "GET",data.url, false );

xmlHttp.send( null );

在JS中发起http请求可用ajax(或者$.getScript)等方法,ajax试了之后没有生效,可能请求方式不对,但是用XMLHttpRequest能正常生效,最终成功实现同步登陆。

posted @ 2015-05-13 12:14  寂地烟火  阅读(12)  评论(0)    收藏  举报  来源