【问题标题】:PHP Session Scope Across Users跨用户的 PHP 会话范围
【发布时间】:2011-12-20 15:32:13
【问题描述】:

我一直在尝试做类似下面的事情。

JavaScript

$.ajax({
   url: 'login.php',
   type: 'GET',
   success: function(response) {
      // get token and store in cookie for further requests to other files
   }
});

登录.php

<?php
   // getting $user_id from database again user email and password
   $user_id = "12345"; 

   $_SESSION["user"] = $user_id;

   echo $user_id;
?>

现在,由于多个用户将使用该应用程序并调用相同的 login.php 并传递他们的电子邮件和密码,我想返回他们的 ID,他们可以使用该 ID 访问其他资源。我很想知道所有用户的 PHP 会话是否会有所不同,或者如果 2 个或超过 2 个用户同时登录,同一用户是否会被覆盖?我不确定 PHP 会话范围。

【问题讨论】:

    标签: php javascript session


    【解决方案1】:

    他们每个人都有自己独特的会话。请确保您还首先在 login.php 中调用 session_start()

    【讨论】:

    • 如果我调用 unset($_SESSION["user"]) 哪个会被销毁?
    • 只有属于浏览器用户的会话才会执行包含 unset($_SESSION['user']) call =) 的脚本!
    • 您认为 cookie 没有通过 ajax 请求传递?
    • Cookies 是通过 jQuery AJAX 请求发送的:stackoverflow.com/questions/1041285/… 但请注意,如果您销毁会话,除非您内置了重新登录的附加逻辑,否则 cookie 的内容无关紧要基于 cookie 数据的用户。在这种情况下,当您取消设置会话变量时,请确保您也清除了 cookie。
    • 不错。响应有 Set-Cookie: PHPSESSID=tpma2siuboco2h4orakbgln0o7; path=/ 是否也存储在幕后的 cookie 中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    相关资源
    最近更新 更多