【发布时间】:2014-11-04 16:41:14
【问题描述】:
Q1,我们最近遇到了关于 ajax 和购物车的问题,Q1 的场景是:
我们有 2 个网站,123.abc.com 和 www.abc.com,我们通过代理 ajax 调用在两个网站上保持购物车同步。其中 www.abc.com 是 checkout.steps 复制的主要站点Q1 问题是
1)desktop,open IE and go to www.abc.com ,response has set cookie sid=xyz1 domain=.abc.com path=/
2)then search something by typing some key words. it will pass keywords to 123.abc.com in URL and jump to 123.abc.com to show the results,response has set cookie sid=xyz2 without domain info
3)after dom is ready, there is an ajax call proxied to www.abc.com to get cart content, this request has sid=xyz2 in header to 123.abc.com and the response has setcookie sid=xyz2 domain=.abc.com path=/
4)randomly pick some products and click add to cart,then js will make ajax call to 123.abc.com server,that server proxy the call to www.abc.com . response to ajax carries setcookie sid=xyz2 domain=.abc.com path=/
5)click a link in search result page and navigate back to www.abc.com, browser will use sid=xyz1 which lost the cart info
上面发生在办公室使用 IE11 并且我在 123.abc.com 的 intranet.staff 中抱怨 www.abc.com 在 www.abc.com 的一些代理文档就绪 ajax 响应中覆盖了他们的 sid cookie 以获取当前购物车内容在 www.abc.com 上
123.abc.com 和 www.abc.com 由不同的公司和服务器托管
然后我安装 fiddler 并打开它来监控来自 IE11 的流量,问题消失了,我可以在 www.abc.com 上看到购物车 FF 和 chrome 都很好(如果 www.abc.com 覆盖了 sid cookie,那么 FF 和 chrome 如何/为什么保持良好状态?)
这是否是 Intranet 与浏览器的不同 cookie 管理混合的问题?
Q2 ,另一个问题是移动版 chrome。
1)open www.ab.com on mobile in chrome, it will be redirected to 123.abc.com/m/
2)add something to cart while still on 123.abc.com/m/
3)navigatte back to www.abc.com to checkout. cart is empty
上面发生了办公室 wifi 。如果我将移动网络切换到 4G,购物车是空的(奇怪) FF 和 Opera 在 4G 和 wifi 下运行良好 它与浏览器 cookie 管理器的实现有关吗?还是与网络限制混合的问题?
提前感谢
【问题讨论】:
-
原来是安全策略在制造噪音。添加到受信任的站点。全部完成。
标签: internet-explorer google-chrome session cookies