您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 跨域获取cookie,多个网站实现一键登录
A网站首页PHP(也可以在登录页面加入下面的代码)加入如下代码viewplaincopytoclipboardprint?1.?php2.//清空cookies3.setcookie(mywinduid);4.//为B页面权限设置cookie,setcookie(mywinduid,$winduid,time()+60*60*24);//设置为1天失效,下面为关闭浏览器失效5.setcookie(mywinduid,$winduid);6.?A网站增加文件getcookies.php,目的是为了让B网站可以以ajax方式来查询A网站的cookiegetcookies.php代码如下viewplaincopytoclipboardprint?1.?php2.$callback=$_GET['jsoncallback'];3.$mywinduid=$_COOKIE['mywinduid'];//多个参数的话以,隔开,例如json_encode(array('winduid'=$winduid,'msg'=$msg));4.//可以用json_encode自动转换,也可以手写json格式$json_data='{mywinduid:'.$mywinduid.'}';5.$json_data=json_encode(array('mywinduid'=$mywinduid));6.//必需以下这样形式输出,重点就是发送请求的网页的参数中要有jsoncallback参数7.echo$callback.'('.$json_data.')';8.?在需要查询A网站cookie的B网站页面中增加如下代码viewplaincopytoclipboardprint?1.scripttype=text/javascriptsrc=jquery-1.6.1.min.js/script2.scripttype=text/javascriptsrc=jquery.cookie.js/script3.scripttype=text/javascript4.$(function(){5.$(#adminwhj).click(function(){//点击B网站中的登录按钮,这地方也可以不需要用click,直接打开页面就获取cookie6.varmyurl==getcookie;7.$.getJSON(myurl+&jsoncallback=?,function(data){8.if(data.mywinduid!=&&data.mywinduid!=null){9.varwinduid=data.mywinduid;10.if((winduid==4)||(winduid==2)){11.$.cookie('mywinduid',winduid);//设置cookies12.location.reload();//刷新页面13.}else{14.alert(您没有管理权限!);15.}16.}else{17.alert(请在登录后再进行管理);18.}19.})20.})21.})22./script下面是B网站的这个页面中需要做权限判断的代码viewplaincopytoclipboardprint?1.!--需要权限的判断开始--2.?3.$winduid=$_COOKIE[mywinduid];4.if(($winduid==4)||($winduid==2))5.{!--管理需要的代码--}6.?整个原理就是,B网站上文件可以通过A网站的getcookies.php来获取A网站的cookie,然后在B网站的页面提供权限判断,这样B网站中不需要再单独做用户登录提供jquery库最新版的下载,以及jquery.cookie.js的下载://
本文标题:跨域获取cookie,多个网站实现一键登录
链接地址:https://www.777doc.com/doc-4829157 .html