http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 6117|回复: 5

[Asp.Net] cookie跨域访问问题

[复制链接]
发表于 2017-10-27 20:44:43 | 显示全部楼层 |阅读模式
    今天工作,遇到了cookie跨域访问问题,百度了很多帖子,基本上都是domain相同的二级域名访问,这个是没有任何问题,主要是domain不同,例如:     A. www.baidu.com
     B. fanyi.baidu.com
     C. ww.qq.com
     这样的三个域名间cookie访问,A、B间的cookie访问是没有问题,因为domain是相同的,都是‘baidu.com’,但是C再去访问A、B上的cookie就存在了cookie 的跨域访问问题,我这边也使用了很多方法,但是都没有解决,大家可以集思广益下,帮忙解决下问题哈




1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2017-10-27 20:51:13 | 显示全部楼层
我这边最后的简单解决方法,也就是治标不治本的方法,就是使用js的jsonp方式,进行处理,代码如下
[JavaScript] 纯文本查看 复制代码
<script type="text/javascript">
	var puId = 0;
	var cuId = 0;
	var callBack = function (data) {
		if (data.pu) {
			puId = data.pu.Uid;
			var pname = data.pu.Uname.length > 3 ? (data.pu.Uname.substring(0, 3) + '...') : data.pu.Uname;
			var html = "";
			html += "<a class=\"gh-login-ok\" target=\"_blank\" href=\"http://my.baidu.com/index.aspx\">";
			html += "    <img class=\"gh-face\" src=\"" + data.pu.ULogo + "\">";
			html += "    <span class=\"nick\">" + pname + "</span>";
			html += "</a>";
			html += "<a href=\"/pub/MainSite.ashx?jsoncallback=?&action=LoginOut\">退出</a>";

			$('.gh-login').html( html );
		}if (data.cu) {
			puId = data.cu.Uid;
		}
	};
	$.ajax({
		async: false,
		dataType: "jsonp",
		jsonp: "callback",
		type: "get",
		url: 'http://www.baidu.com/pub/MainMaster.ashx?action=checkLogin&=' + new Date().getTime(),
		success: callBack
	});
</script>


在页面上定义一个js的全局变量,使用jsonp,访问A、B相同的domian - ‘baidu.com’存储的cookie读取,然后返回,存储到页面的全局变量中,共全局使用


 楼主| 发表于 2017-10-27 20:51:49 | 显示全部楼层
不过这个方法就是简单的,还是没有解决根本问题的,大家可以说说其它方法,共同学习下哈
 楼主| 发表于 2017-10-27 20:52:58 | 显示全部楼层
在中间的时候,还测试了很奇特的方法,就是把所有的domain都进行cookie添加,然后想着就可以解决cookie跨域问题,结果发现,根本就存不上去
发表于 2017-10-27 21:07:23 | 显示全部楼层
1.Cookie只能写写入同一域名下,要写别的域名下的Cookie,页面必须是在当前域名下。
2.要解决多个顶级域名的问题,要单独出来一个域名做为登录中间过度,否则所有的登录状态都只能靠JS来维持。
 楼主| 发表于 2017-10-27 21:21:21 | 显示全部楼层
是哒, 查了资料,就是单点登陆方式,还没有开始调整
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-19 04:54

© 2014-2021

快速回复 返回顶部 返回列表