易优cms—安全好用,商用授权只需要188元,网址:https://www.eyoucms.com
大家在使用织梦的时候,用到会员中心可能涉及到多二级域名同步登录退出的问题,涉及到跨域,那么这个问题该如何3 ^ ~ u S \ c w G解决呢?在一个技术大牛博客看到过此教程,特此转发分享给大家,解决大家问题。
首先打开 \inclu{ ] _ kde\dedeajax2.js 找到
1
DedeXHTTP =o ( | y 5 D new XMLHttpRequest();
在它的下面加入
1
DedeXHTTP.withCredentials =true;
继续找到
1
DedeXHTTP.open("POST"5 ) v V : E f y, purl,true);
在它的下面加入
1
DedeXHTTP.withCredentials =true;
继续找到
1
DedeXHTTP.open(# 7 0 ` I U w"GET", p8 u h l q ourl,z ] ? S I X Itrue);
在它的下面加入
1
DedeXHTTP.withCredentials =true;
继续找到
1
DedeXHT^ Z E Q kTP.open("GET", purl,fag ~ ~lse);
在它的下面加入
1
DedeXHTTP.withCredentials =true;
跨域共享cookie的使用教程
1、后台-系统-系w F d @统配置参数-核心设置-跨域共享cookie的域名,填上.S , o p 7 J M 1 ggenban.org
(此图片来源于网络,如有侵权,请联系删除! )
保存修改后,你可能会出现后台登录时提示验证码错误,但是你填的验证码明明是对的,那有可能你的织梦程序不是最新的,你需要替换官方最新版的这2个文件。
提示:替换前记得先备份你的这2个文件,再替换官方的进来。
\include\cok ~ c y ` i xmmon.inca * _ 8 ` b s J A.php
\include\vdimgck.php
启用 CORS 来解决浏览器跨域出现的拦截跨源问题
有2种方式
方法一:直接P - J m 2 j d r在ajax请求的php文件里加入(注意下方文件中的二级域名网址)
1
header("Access-CoP 1 _ - j g m SntroC F . $ d 6 Y ul-Allow-Credentials:trueU 6 J y O B / p /");
2
header("Access-Control-Allow-Origin:http://mx t I y P _ U.geP 8 9 v )nban.org"b / i R k);
例如,获取会员登录这[ . 0 3 g 5 *个/member/aja{ @ e Z R Ax_loginsta.php
(此图片来s P y Y S ^源于网络,如有侵权,请联系删除! )
如果你有多个ajax获取文件,也需要加入这2行代码。
方z [ H 6 F 1 D \ F法二:在网站环境配置里加入(注意X B P % Z N s:使用第1种就不要再去操作第2种了)
1) A, E r w ~ !pache 配置文件里加入
1
HeadersetAccess-Control-Allow-Origin"*"
(此图片来源于网& P j |络,如有侵权! J A G V,请联系删除! )
2) Nginx 配置文件里i Q A Y r加入
1
add_header Aq . mccess-Contr1 m ; s @ , - 8ol-Allow-Origin *;
(此图片来源于网络,如有侵权,请联系删除!R S U Z O )
3) iis 添加如下标头
1
Access-Control-Allow-Origin:*
(此图片来源于网络,如有侵权,请联系删除! )
在子域名的模板中,有ajax获取数据的地方,文件路径要使用主域名的
1
<script src="https://www.dede58.com/a/dedejqa o 8 W f k , G _/{dede:global.cfg_basf v S rehost/}/include/dedeajax2.js"><@ R m J C $;/scri. & R L D } - X 9pt>
2
<i $ 8 !;scripttype="text/javascript">
3
functionCheckLogin(){
4
var taget_obj = document.getElementById('_userloginX U = P ( j W w s');
5
myajax = ne{ e Q %w DedeAjax(taget_obj,false,false,'','','')_ 8 N d 3 K 4 / I;
6
myajax.SendGet2(9 U E v `"{dede:globaL O C Y 4 ,l.cfg_basehost/}/member/i 4 & 1 U p majax_lT F Y z P - z a -oginsta.php");
7
DedeXHTTP = null;
8
}
9
</script>
教程完成