【问题标题】:order form inside iFrame, session breaks (third party)iFrame 内的订单表格,会话中断(第三方)
【发布时间】:2016-07-01 22:35:42
【问题描述】:

我正在尝试构建一个其他人可以在其网站上的 iframe 中使用的订单。稍后我想将此表单添加到 facebook。

我当前的表单使用会话将订购的产品绑定到用户,但如果我在 Internet Explorer 中禁用第三方 cookie,我将无法订购任何东西。会话 ID 正在更改。 在最后的步骤中,我要求用户登录并将电子邮件地址绑定到当前会话。

我更喜欢继续使用会话,所以当有人离开我的页面时,订购的项目仍在他们的图表中。在我的 iframe 中仍然使用会话的最佳方法是什么?

感谢大家的帮助...

【问题讨论】:

    标签: php session iframe


    【解决方案1】:

    访问您网站的访问者被分配一个唯一的 ID,即所谓的会话 ID。这要么存储在用户端的 cookie 中,要么在 URL 中传播。

    Sessions: Introduction

    所以这意味着如果 cookie 被禁用,您需要将会话 ID 传播到 URL。例如:

    <a href="checkout.php?<?php echo htmlspecialchars(SID); ?>">Checkout</a>
    

    现在,即使用户禁用了 cookie,会话 ID 也会被传递。当他们完全离开您的网站时,您可以将用户购物车保存到数据库或其他东西中。 Afaik,当用户离开时,会话总是被完全销毁。

    更多关于传递会话 ID 的信息可以在这里找到:Passing the Session ID

    【讨论】:

    • 感谢 Icecub 的帮助。我在 URL 中添加了一个 24 个字符的唯一 ID,以跟踪 iframe 中的会话。
    • @user3278918 没问题。如果我的回答帮助您解决了问题,请采纳。这是一种向帮助您的人表达感谢的方式,并确保您的问题不会永远无人回答。
    • @user3278918 请用赞成票和绿色复选标记处理您的问题。我们中的一些人在回答问题(比如你的新问题)之前研究了一分钟。谢谢
    • Thx Drew,如果我有问题,我会在提问之前进行大量研究。我希望我之前可以投票支持 Icecub 的答案,但我没有足够的声望来投票。现在我有我的下一个问题。如果你认为我没有做我的研究,请给我一个链接,我的新问题的答案是......
    • @user3278918 Drew ment 指出,该网站的一些成员在尝试帮助他们之前检查用户是否解决了他们的问题。虽然它确实需要 15 声望才能投票,但标记绿色检查不需要。作为新成员,您可以这样做。无论如何,感谢您向我表达您的赞赏:)
    猜你喜欢
    • 2020-04-16
    • 1970-01-01
    • 2011-05-01
    • 2023-03-09
    • 2018-11-10
    • 2011-01-16
    • 2019-05-27
    • 2021-08-13
    • 1970-01-01
    相关资源
    最近更新 更多