【问题标题】:Looking to set a cross domain cookie for two domains on the same server with wordpress multisite in a guest session希望在访客会话中使用 wordpress 多站点为同一服务器上的两个域设置跨域 cookie
【发布时间】:2016-05-02 00:34:36
【问题描述】:

我目前使用 WooCommerce 设置了 Wordpress 多站点。我的目标是在 GUEST 会话中为 subbblog 映射域和完整域本身提供一个共享的购物车。

即购物车将是相同的:

虽然我可以让购物车独立工作,但它们在每个域上都有自己的 cookie。

3 个 cookie 管理购物车体验:

  • woocommerce_items_in_cart
  • woocommerce_cart_hash
  • wp_woocommerce_session_

(wp_woocommerce_session_ 在实践中会是这样的:)

  • wp_woocommerce_session_e235b4c0280f7763c7ffd1dd8492f8a2

(参考:https://docs.woothemes.com/document/woocommerce-cookies/

我修改了文件中的函数 wc_setcookie:includes/wc-core-functions.php 来为两个域|路径设置 cookie,如下:

通过以下方式在此函数中设置普通 cookie:

  • setcookie($name, $value, $expire, COOKIEPATH, COOKIE_DOMAIN, $secure);

我将添加一个额外的 cookie(对于每个 cookie 设置:

  • $temp1 = get_blog_details();
  • setcookie($name, $value, $expire, $temp1->path, $temp1->domain, $secure);

但是,当转到其他域路径时,看不到这些辅助 cookie。

所以问题是我如何通过额外的编码或 NGINX 中的服务器修改或两者兼而有之来完成此操作。

感谢您的宝贵时间

【问题讨论】:

标签: wordpress cookies nginx woocommerce cross-domain


【解决方案1】:

感谢隐私和安全,由于浏览器中实施了同源策略,您不能只为不同的域设置 cookie。

请参阅 StackOverflow 上相关的 Cross-Domain Cookies 帖子,以讨论您控制两个域时的选项。

Cross-domain-cookies - a maybe new idea 的帖子解释了控制两个域时的另一种方法。

【讨论】:

  • 嗨,马克,感谢您的回复。正确你不能简单地设置一个cookie。指导的问题是如何使用 javascript 来完成操作或如何为此请求设置服务器或两者兼而有之......有什么想法吗?
  • @bmiskie,值得庆幸的是,JavaScript 也受制于同源策略。链接的票将为您提供最好的想法,因为您的问题本质上是一个骗局。
  • 我已经浏览了这些线程,还检查了一些链接,只是在 wordpress 环境中连接点有问题
  • 任何特定于 woo-commerce 和同一服务器上的 2 个域的答案将不胜感激。
猜你喜欢
  • 2013-11-19
  • 2015-11-16
  • 2015-12-23
  • 1970-01-01
  • 1970-01-01
  • 2012-01-20
  • 1970-01-01
  • 2010-09-19
相关资源
最近更新 更多