首页 > 技术支撑 > 织梦学习

dedecms织梦会员登录二级域名跨域不能获取数据的解决办法

分类: 织梦学习  发布者: 会员:虎哥
大家在使用织梦的时候,用到会员中心可能涉及到多二级域名同步登录退出的问题,涉及到跨域,那么这个问题该如何解决呢?在一个技术大牛博客看到过此教程,特此转发分享给大家,解决大家问题。
 
首先打开 /include/dedeajax2.js 找到
 
1DedeXHTTP = new XMLHttpRequest();
 
在它的下面加入
 
1DedeXHTTP.withCredentials = true;
 
继续找到
 
1DedeXHTTP.open("POST", purl, true);
 
在它的下面加入
 
1DedeXHTTP.withCredentials = true;
 
继续找到

1DedeXHTTP.open("GET", purl, true);
 
在它的下面加入

1DedeXHTTP.withCredentials = true;
 
继续找到

1DedeXHTTP.open("GET", purl, false);

在它的下面加入

1DedeXHTTP.withCredentials = true;
 
跨域共享cookie的使用教程
 
1、后台-系统-系统配置参数-核心设置-跨域共享cookie的域名,填上.genban.org

 
保存修改后,你可能会出现后台登录时提示验证码错误,但是你填的验证码明明是对的,那有可能你的织梦程序不是最新的,你需要替换官方最新版的这2个文件。
 
提示:替换前记得先备份你的这2个文件,再替换官方的进来。
 
/include/common.inc.php
 
/include/vdimgck.php
 
启用 CORS 来解决浏览器跨域出现的拦截跨源问题
 
有2种方式
 
方法一:直接在ajax请求的php文件里加入(注意下方文件中的二级域名网址)
 
1header("Access-Control-Allow-Credentials:true");2header("Access-Control-Allow-Origin:http://m.genban.org");

 
例如,获取会员登录这个/member/ajax_loginsta.php
 
 
如果你有多个ajax获取文件,也需要加入这2行代码。
 
方法二:在网站环境配置里加入(注意:使用第1种就不要再去操作第2种了)
 
1) Apache 配置文件里加入
 

1Header set Access-Control-Allow-Origin "*"
 
2) Nginx 配置文件里加入

1add_header Access-Control-Allow-Origin *;
 
 
 
3) iis 添加如下标头
 
1Access-Control-Allow-Origin:*

 
在子域名的模板中,有ajax获取数据的地方,文件路径要使用主域名的

1<script src="{dede:global.cfg_basehost/}/include/dedeajax2.js"></script>2<script type="text/javascript">     3function CheckLogin(){        4    var taget_obj = document.getElementById('_userlogin');       5    myajax = new DedeAjax(taget_obj,false,false,'','','');        6    myajax.SendGet2("{dede:global.cfg_basehost/}/member/ajax_loginsta.php");       7    DedeXHTTP = null;     8  }   9</script>

 
 
教程完成

感谢 会员:虎哥 分享文章,亦感谢文章原作者为我们提供如此优秀信息,如果此信息对您有帮助,请购买正版以支持作者!
---------------------------
此信息仅供个人学习、研究免费使用,禁止非法转播。
免责申明:本信息由 会员:虎哥 搜集整理发布,版权归原作者及发布者所有,您如有异议请 举报 或者 版权申诉
六出奇e站内部资源仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!
六出奇e站内部资源不提供任何保证,并不承担任何法律责任。
如果该信息对您的版权或者利益造成损害,请提供相应的资质证明提交 版权投诉,我们将于3个工作日内予以处理。
六出奇e站内部资源采用 BY-NC-SA 协议进行授权 转载请注明原文链接:
dedecms织梦会员登录二级域名跨域不能获取数据的解决办法 http://www.lcqez.com/news/42.html

嘿,我来帮您!

找不到需要的信息?请给我们留言

注意:本需求仅接收资源需求信息。
系统自动过滤不符合要求的信息!

其他信息请提交 站内信息 给技术客服!