【发布时间】:2019-10-28 15:47:26
【问题描述】:
如果存储了会话 ID,是否可以使用它来更改会话数据,例如数组变量?
我正在开发一个 PHP 登录系统项目,其中登录身份验证来自带外源(移动应用程序或浏览器扩展)。
浏览器页面会使用 JavaScript 不断地向服务器请求登录状态。例如,用户将扫描页面上的二维码,他们的手机将通过 API 将他们的身份验证发布到服务器。
然后,我想更改与使用该特定 QR 码发布的页面上的会话相关联的 $_SESSION 数据。我可以知道发出那个特定二维码的session id 手机二维码扫描返回了哪些数据,但是我可以使用session id 修改session 数据,从而将SESSION 状态设置为已登录吗?
我查看了 PHP 手册中的一个函数,该函数允许它修改另一个会话,但没有找到任何东西。 (https://www.php.net/manual/en/ref.session.php)
【问题讨论】:
-
您可以使用 $_SESSION['nameofthedata'] 访问与当前会话 ID 相关的特定会话数据
-
我认为这是不可能的。在 PHP 中创建会话时,它会存储在某种存储中 - 默认情况下,存储在文件中。因此,当您无权访问此存储时,您将无能为力
-
谢谢。我可以理解。然而,这是例如能够改变不同会话的会话变量的问题。或者在无状态时通过 id 更改会话。
标签: php session session-variables