【问题标题】:Pasting the required url to address bar destroys the session将所需的 url 粘贴到地址栏会破坏会话
【发布时间】:2012-01-12 03:20:44
【问题描述】:

我收到一封邮件,其中给我一个指向帐户历史页面页面的链接,如下所示:

http://www.mydomain.com/accounthistory.php?order_id=491

使用它我可以查看订单详细信息,但是当我登录到我的帐户并访问从我收到的邮件中复制的相同链接时,我得到了页面,但我退出了。

登录后我的网站一般也可以访问此页面,并且网址显示为

http://www.mydomain.com/accounthistory.php?order_id=491&osCsid=v2i9agpobsce2dvlfgi28449j3

因此,我的问题是:

如果我登录我的帐户并使用我在邮件中收到的链接,即

http://www.mydomain.com/accounthistory.php?order_id=491

我应该怎么做才能不退出我的帐户?

在查看了这两种方式之后,我发现我需要将“osCsid”附加到我在邮件中收到的 URL 上。通过调试我发现它保存在会话中。如何使用它来完成我的观点?

【问题讨论】:

    标签: php session session-variables session-timeout oscommerce


    【解决方案1】:

    如果您的商店系统不使用 Cookie 进行会话,则在 URL 中携带会话 ID 实际上是继续会话的唯一方法。

    但是,将会话 ID 放入电子邮件不是很优雅。会话 ID 在某些时候会变得无效,这会使 URL 变得又长又丑。

    我会考虑为接受它的客户端激活基于 Cookie 的身份验证。

    【讨论】:

    • -ve Potter, :-(, 任何其他选择!!
    • @OM 替代什么?您为什么不使用 Cookie?
    • 关于最后一行,或者有什么方法可以检查现有的会话 ID 并附加到我粘贴在地址栏中的请求的 url 中?
    • @OM 不,它是会话 ID 或 Cookie。为什么不能使用 cookie?
    • @OM 仅当您的会话基于 cookie 时。没有其他办法。我们可以整天这样做:P
    猜你喜欢
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 2015-07-02
    • 2013-11-10
    • 2012-07-19
    • 1970-01-01
    相关资源
    最近更新 更多