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

2019-06-27dedecms开发
116

大家在使用织梦的时候,用到会员中心可能涉及到多二级域名同步登录退出的问题,涉及到跨域,那么这个问题该如何解决呢?在一个技术大牛博客看到过此教程,特此转发分享给大家,解决大家问题。
 
首先打开 \include\dedeajax2.js 找到
 
DedeXHTTP = new XMLHttpRequest();
在它的下面加入
 
DedeXHTTP.withCredentials = true;
继续找到
 
DedeXHTTP.open("POST", purl, true);
在它的下面加入
 
DedeXHTTP.withCredentials = true;
继续找到
 
DedeXHTTP.open("GET", purl, true);
在它的下面加入
 
DedeXHTTP.withCredentials = true;
继续找到
 
DedeXHTTP.open("GET", purl, false);
在它的下面加入
 
DedeXHTTP.withCredentials = true;
跨域共享cookie的使用教程
 
1、后台-系统-系统配置参数-核心设置-跨域共享cookie的域名,填上.genban.org

 
保存修改后,你可能会出现后台登录时提示验证码错误,但是你填的验证码明明是对的,那有可能你的织梦程序不是最新的,你需要替换官方最新版的这2个文件。
 
提示:替换前记得先备份你的这2个文件,再替换官方的进来。
 
\include\common.inc.php
 
\include\vdimgck.php
 
启用 CORS 来解决浏览器跨域出现的拦截跨源问题
 
有2种方式
 
方法一:直接在ajax请求的php文件里加入(注意下方文件中的二级域名网址)
 
header("Access-Control-Allow-Credentials:true");
header("Access-Control-Allow-Origin:http://m.genban.org");
 
例如,获取会员登录这个/member/ajax_loginsta.php
 
 
如果你有多个ajax获取文件,也需要加入这2行代码。
 
方法二:在网站环境配置里加入(注意:使用第1种就不要再去操作第2种了)
 
1) Apache 配置文件里加入
 
Header set Access-Control-Allow-Origin "*"
 
2) Nginx 配置文件里加入
 
add_header Access-Control-Allow-Origin *;
 
3) iis 添加如下标头
 
Access-Control-Allow-Origin:*

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

<script src="{wmd:global.cfg_basehost/}/include/dedeajax2.js"></script>
<script type="text/javascript">      
function CheckLogin(){         
	var taget_obj = document.getElementById('_userlogin');        
	myajax = new DedeAjax(taget_obj,false,false,'','','');         
	myajax.SendGet2("{wmd:global.cfg_basehost/}/member/ajax_loginsta.php");        
	DedeXHTTP = null;      
  }    
</script>

 
 
教程完成
The End

相关推荐

织梦cms批量删除所有无效TAGS的办法
使用过DedeCMS的站长应当都遇到过这样的问题,在我们删掉一些文章内容后,tags标识中就慢慢拥有许多失效的标识存有,这种TAGS标识并不会跟随大家删掉文章内容一起删掉,如果是受欢迎的词还行,有很多文章内容都是有,如果是小众词,便会发生在TAGS目录有词,...
2023-08-17 dedecms开发
181

怎么修改织梦DEDECMS源码tags标签字数限制
修改织梦DEDECMS中TAG标签字数长度限制的方法共两个步骤,分别是对数据库字数和提交文件的字数进行修改。 一、我们通过织梦DEDECMS后台程序中的系统设置栏目下的SQL命令行工具,来修改数据库中表wmd_tagindex 和wmd_taglist的tag字段属性,将TAG字段属性中...
2023-02-16 dedecms开发
196

织梦dedecms列表页实现第一页与其他页调用不同模板的办法
我们想让dedecms织梦第一页与其他第二页、第三页、、、后面的页调用的不同模板,这个要怎么实现呢? 第一步 修改核心文件 打开 /include/arc.listview.class.php 找到,大概在第330行 $this-ParseDMFields($this-PageNo,1); 在它的上面加入: $tempfile = $GL...
2022-11-19 dedecms开发
195

织梦dedecms调用当前栏目文章数的方法
这篇文章给大家分享的是有关织梦dedecms调用当前栏目文章数的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 做模板时,经常需要为每个栏目加上此栏目的文章数。和大家分享下实现的方法,此方法适合5.6及5.7、5.7sp1其它...
2022-11-05 dedecms开发
186

dedecms织梦无需登录注册可下单购买的修改
dedecms织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username)...
2022-11-02 dedecms开发
171

DEDECMS织梦复制https链接网站图片无法本地化的解决办法
现在许多网站使用了SSL技术,网站采用https链接,我们在复制https链接网站的内容,发现图片无法本地化,那么我们想要将这些图片本地化,要怎么操作呢? 第一步: 找到dede/inc/inc_archives_functions.php (注:前边红色的dede目录是您的后台目录) 定位到...
2022-06-15 dedecms开发
125