欢迎来到GM源码之家!会员签到可免费领金币,开通会员下载免金币(本站金币1:10)
A1广告位580*60/1月-到期2021.10.3
A1广告位
织梦跨域共享cookie的BUG修复+使用教程
时间:2021-08-19 来源:网络收集 作者:秩名 浏览: 次  推荐  打印

织梦的跨域共享场景

用户在浏览器上打开你的主站登录会员,然后浏览你的子站点手机站或者商城站时不需要重新登录会员,实现跨域共享cookie。


织梦跨域共享cookie的BUG修复


打开 /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的域名,填上.xxx.com

注意有个英文小数点

23333.png

保存修改后,你可能会出现后台登录时提示验证码错误,但是你填的验证码明明是对的,那有可能你的织梦程序不是最新的,你需要替换官方最新版的这2个文件。


提示:替换前记得先备份你的这2个文件,再替换官方的进来。

/include/common.inc.php

/include/vdimgck.php


2、启用 CORS 来解决浏览器跨域出现的拦截跨源问题


织梦跨域共享cookie的BUG修复+使用教程1

解决浏览器跨域拦截跨源有2种方法


第1种,直接在ajax请求的php文件里加入

header("Access-Control-Allow-Credentials:true");
header("Access-Control-Allow-Origin:http://m.xxx.com");


例如,获取会员登录状态是这个文件 http://www.xxx.com/member/ajax_loginsta.php


如果你有多个ajax获取文件,也需要加入这2行代码。 


 第2种,在网站环境配置里加入(注意:使用第1种就不要再去操作第2种了) 


 2-1) Apache环境的小伙伴在conf配置文件里加入

Header set Access-Control-Allow-Origin "*"


2-2) Nginx环境的小伙伴在配置文件里加入

add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Credentials true;
add_header Access-Control-Allow-Headers "x-requested-with,Authorization";
add_header Access-Control-Allow-Methods *;

6.png

2-3) iis环境的小伙伴添加如下标头

Access-Control-Allow-Origin:*

7.png


打开IIS,找到“HTTP响应标头”点进去,在右侧可以看到添加,然后添加如下标头即可


3、在子域名的模板中,有ajax获取会员登录状态数据的地方,文件路径要使用主域名的文件

例如

<script type=”text/javascript” src=”{dede: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(“{dede:global.cfg_basehost/}/member/ajax_loginsta.php“);
      DedeXHTTP = null;
    }
</script>

完成


(责任编辑:GM源码之家)

转载请注明来源:https://www.gmyuanma.com/jsjc/5866.html

相关文章
会员头像
说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!

郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如无法下载,联系站长索要。
如有侵犯您的版权,请及时【联系我们】我们尽快处理。