首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个网站读取cookie

从另一个网站读取cookie
EN

Stack Overflow用户
提问于 2018-01-16 13:45:53
回答 1查看 40关注 0票数 0

我目前的客户端使用两个独立的网站。

  1. 门户网站
  2. 预订网站

从门户调用预订网站,并在预订完成后重定向回门户。

但预订网站也是独立存在的,由另一方管理。我们不能在那头改变任何事。

门户网站和预订网站都可以定制,而不会相互影响。这是“通过设计”完成的,但目前我们面临语言设置方面的问题:预订站点的语言设置应该用于门户。

此时,在门户中,语言正在通过读取cookie来设置:

代码语言:javascript
复制
HttpCookie cookie = Request.Cookies["LanguageCookie"];

预订网站同时使用两个cookie:

  1. currentPOS
  2. currentLANG

预订站点在门户网站的子域上运行。

我一直在阅读,在我的例子中,我应该能够读到这样的曲奇:

代码语言:javascript
复制
HttpCookie cookie1 = Request.Cookies["currentPOS"];
HttpCookie cookie2 = Request.Cookies["currentLANG"];

它不能工作,但是在其他页面上,它们开始设置cookie的.Domain属性。

所以我的问题是,我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2018-01-16 15:43:28

虽然可以实现直接解决方案,但我的建议是避免试图从另一个站点读取cookie。假设在某个地方,由于某种原因(例如商业原因),这两个应用程序将不会共享顶级域,而是在不相关的域上运行?然后呢?

一个简单的解决方案是逆转信息流。假设站点A、和站点B、A设置了B想要阅读的信息。

您的当前方法是能够从B cookies中读取A设置的cookie。

简单的解决方案是有相反的流,是AB中设置信息。从技术上讲,它可以用A中呈现的单个动态元素来实现,该元素调用B,例如像素图像

代码语言:javascript
复制
<!-- http://a.com/index.html -->
...
    <img src="http://b.com/setParams?currentLang=en />

B中呈现时,此像素设置B的cookie,以便根本不存在跨域cookie。相反,信息是通过直接跨域调用传递的(这就是为什么经常使用图像,因为它是不受限制的),而cookie只用于将这些信息存储在被叫方。

因为它是一个图像元素,所以确保它不会改变A中的页面布局。

这种技术通常用于跟踪跨域的信息,而且由于这些图像的内容毫无意义,它们通常被呈现为1x1 (一个像素)透明图像(这是名称像素的来源)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48282721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档