【问题标题】:How do I make a user stay in a URL while a session is active?如何在会话处于活动状态时让用户留在 URL 中?
【发布时间】:2025-12-24 18:05:07
【问题描述】:

我正在尝试使用 PHP Session 在会话处于活动状态时将用户保留在特定的 URL 中,但我无法弄清楚。当没有会话处于活动状态时,我设法阻止用户访问该 URL,但反之亦然,我无法做出正面或反面。有什么想法吗?

编辑:澄清一下,我的意思是当他在一个特定的 localhost url 中时,他不能仅仅通过更改 url 来访问其他页面。他必须留在那个网页上,直到按下注销按钮调用 session_destroy() 函数。

【问题讨论】:

  • 请分享更多细节。 “将用户保留在特定网址中”是什么意思?
  • 抱歉,这里是编辑。
  • 这是什么意思?您想禁止用户在浏览器中编辑 URL 吗?如果他这样做,会发生什么?由于session_destroy 发生在服务器上,因此浏览器没有简单的方法可以检查
  • @KadeTanaka 你能解释一下示例场景吗?

标签: php session


【解决方案1】:

使用与没有会话的用户类似的方法:

如果会话存在并且用户尝试访问不同的 url - 重定向回来

if (isset($_SESSION['only_url']) && $_SESSION['only_url'] != $_SERVER['REQUEST_URI']) {
    header('Location: ' . $_SESSION['only_url']);
    exit();
}

【讨论】:

    最近更新 更多