【问题标题】:Create Different Session for two similar database为两个相似的数据库创建不同的会话
【发布时间】:2018-10-29 19:28:17
【问题描述】:

我创建了演示数据库,它是原始数据库的副本。

背景:

当用户成功登录时,会创建一个会话 ID。

问题:

当用户使用模拟账户登录时,假设 UserId=1,生成 Session id "1"。

现在如果同一个用户将 URL 更改为原始 URL,他仍然处于登录状态,并且可以访问原始帐户的“UserID=1”记录,这是不可取的。

谁能找到解决这个问题的方法?

编辑:不能使用不同的会话 ID 名称,因为整个代码引用 $_SESSION["id"]

【问题讨论】:

    标签: php database session mysqli


    【解决方案1】:

    您必须使用相同的会话变量来检查对两个数据库的访问。

    定义两个不同的会话变量,例如$_SESSION['login_demo']$_SESSION['login_main']

    如果设置了演示会话,则用户将获得对演示数据库的访问权限,如果设置了主会话,则授予对主数据库的访问权限。

    【讨论】:

    • 不能使用不同的会话 ID 名称,因为整个代码引用 $_SESSION["id"]。如果我必须将 $_SESSION["id"] 更改为 $_SESSION["id_demo"],则必须重写整个代码
    • @Entrepreneur 然后在两个数据库的用户表中创建另一列,并根据用户的登录状态更改其值。根据该值,您必须将它们隔离。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    相关资源
    最近更新 更多