Session iframe是否可能有不同的会话?

Session iframe是否可能有不同的会话?,session,iframe,Session,Iframe,我想建立一个管理工具,我可以“模拟”我的网站的用户,而不必失去我作为管理员的会话 我想能够打开一个iframe,它将以“用户”的身份查看网站,而不改变打开iframe的页面的状态 可能吗?有更好的方法吗?有可能,但有一点“但是”: 首先有几个选项: 使用基于URL的会话令牌(如禁用Cookie时Java servlet所做的那样) 为“正常”站点和管理界面使用不同的域 iframe本身帮不了你多少忙:它总是与浏览器共享cookies。因此,为了避免这种情况,您可以使用上述任一选项,但这并不取决于

我想建立一个管理工具,我可以“模拟”我的网站的用户,而不必失去我作为管理员的会话

我想能够打开一个iframe,它将以“用户”的身份查看网站,而不改变打开iframe的页面的状态


可能吗?有更好的方法吗?

有可能,但有一点“但是”:

首先有几个选项:

  • 使用基于URL的会话令牌(如禁用Cookie时Java servlet所做的那样)
  • 为“正常”站点和管理界面使用不同的域

  • iframe
    本身帮不了你多少忙:它总是与浏览器共享cookies。因此,为了避免这种情况,您可以使用上述任一选项,但这并不取决于
    iframe

    什么语言?我的答案是基于PHP是您选择的语言这一假设

    首先,如果会话模拟是您以其他用户身份查看站点的唯一方式,同时保持管理员登录完整,那么我会说您的应用程序规划错误

    可以这样做的一种方法是,假设您正在使用PHP以及其中的默认会话管理函数,并且您没有自定义会话处理程序,则可以使用
    ?PHPSESSID=sessionidhere
    参数加载iframe url

    更好的方法是创建站点并通过排序的用户对象对用户进行身份验证,然后添加某种url参数,如
    ?userbrowseid=123

    然后,当您加载页面时,您的代码将只检查参数是否存在(如果您已经以管理员身份登录)。然后,页面将用id为
    123
    的用户的用户对象覆盖当前用户对象。应采取步骤确保会话cookie不会被模拟用户对象覆盖。由于这将在iframe中,您的站点将作为管理员工作,iframe将作为用户对象加载