php - 跳转到另一个现有 session (使用 PHP 的默认 session 处理程序)

标签 php session

我有一个这样的场景:

UserJoe has session_id abc123 abc123 存储在数据库中 users 表中 UserJoe 的行中。

UserJoe 调用 AdminBob 并报告问题。

AdminBob 需要亲 body 验 UserJoe 的问题

所以,我想做这样的事情:

01|  $sessionId = getSessionId("UserJoe");
02|  changeToExistingSession($sessionId);
03|  if($_SESSION["name"] == "UserJoe") echo "successfully changed users";

第 02 行是我有点卡住的地方......有什么想法吗?

(最好不要在任何地方使用session_save_path():P)

编辑:这只是在页面执行期间。我想保持 AdminBob 的 session cookie 完好无损。

最佳答案

如果您将UserJoe的 session ID与报告一起存储在数据库中,那么我认为您可以使用session_id()来设置AdminBob code> 的 session ID 到 UserJoe 的 session ID。

<?php
  if(!isset($_GET["id"]))
  {
    session_start();
    $_SESSION["foobar"] = $_GET["bar"];
    echo "Setting...";
    var_dump($_SESSION);
    var_dump($_COOKIE);
  }
  else
  {
    session_id($_GET["id"]);
    var_dump($_GET["id"]);
    var_dump($_COOKIE);
    session_start();
    var_dump($_SESSION);
  }
?>

测试:在一个浏览器中打开此页面并将 bar 设置为任何内容。

index.php?bar=blahblahblah

打开新浏览器访问同一页面但不设置bar,获取PHPSESSID的值并将其设置为id' s值

index.php?id=[value of PHPSESSID]

您应该在新打开的浏览器中看到其他浏览器的 session

关于php - 跳转到另一个现有 session (使用 PHP 的默认 session 处理程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7304062/

相关文章:

linux - 如何保存 XFCE 4's " session 和启动中的条目/导入/导出?

php - 登录页面传递 $_SESSION

php - 在 session 中存储值并在 tpl 文件 xcart 上检索

Django session 不适用于 Heroku

php - 在下面的代码中添加一个新行

PHP session 页面刷新不起作用

php - 预匹配 :/usersname or/username/foo

php - Laravel 5.2 数据库查询中的条件

php - 哪个 JavaScript 函数与 PHP urldecode 函数兼容?

php - 遇到撇号时工具提示会损坏