【发布时间】:2011-02-26 17:24:59
【问题描述】:
我们正在解决 eshop (php, mysql) 的问题。客户希望通过共享购物车在两个域上拥有相同的 eshop。在商店客户可以在没有用户帐户的情况下购物(无法登录)。还有一个问题,如何使共享购物车跨域。
购物车中的数据存储在会话中,我们也将其存储在数据库中。但是我们无法解决跨域传输数据的问题。识别未登录的用户并不是万无一失的 (research)。
示例,它应该如何工作
客户前往 domainOne 并将一些东西添加到购物车。然后他去 domainTwo (通过链接,但是输入域地址)并将其他一些东西添加到购物车中。在购物车中,他有来自两个域的东西(刷新页面后)。
你有什么想法,如何解决这个问题?
什么没用:
- 由于客户要求,无法进行重定向
- cookie 与域相关
- 其他域的 set_cookie 无效
- 最简单的方法是只保留 sessionid(存储在 cookie 中),但我们不知道如何整体证明未登录的用户。
- 除了cookies之外,还有没有其他地方可以在客户端存储数据? (可能不会)
- 我们不能使用通过 url 中的参数发送 sessionid(如果用户点击链接到其他域)或解析标头引用,bcs 我们不知道用户如何实现其他域。
如果你不明白我的意思,请向我提问。如果您认为在两个域上使用共享(公共)购物车进行 eshop 是个坏主意,请不要告诉我,我们知道。
感谢您的每一个回答。
【问题讨论】:
-
如果没有某种身份验证/登录机制,这个问题就无法得到充分解决。因此,请尝试让客户相信登录是必要的,并解释其优点(即提出有针对性的建议)和缺点(即可能会让一些潜在客户失望)。我敢肯定,最终,如果这真的是必要的壮举,客户会很乐意采用登录机制。
标签: php session cookies cross-domain client-side