在同一浏览器中限制用户访问权限

时间:2012-06-10 05:24:40

标签: php login restrictions

我正在制作基于php的应用程序。当两个用户从不同选项卡中的同一浏览器登录时,他们可以访问彼此的页面。如何防止这种情况?

4 个答案:

答案 0 :(得分:0)

我看到有4个解决方案:

  1. 您可以尝试为该窗口(在本例中为选项卡)提供一个名称,以便使用JavaScript检测特殊窗口:

    if(window.name==4711) {...}
    
  2. 使用带有GET参数但不带cookie的会话。

  3. 使用包含在该子域上运行的普通Cookie的随机子域。

  4. 使用普通的cookie,该cookie仅限于使用mod_rewrite时并不存在的“虚拟”目录。 Idea based on this comment

答案 1 :(得分:0)

使用$_SESSION$_COOKIE存储在用户登录并更新数据库时创建的生成密钥,以便在用户更改页面时,您可以根据生成的密钥访问其信息。您还需要创建一个简单的function来检查密钥,而不是使用页面的其他功能,如果它像菜单栏或登录框一样,将其包含在if statement之内

if(checkUser($_COOKIE['MYSID'])){
   // User is logged in so show whatever
} else {
   // Login box here
}

答案 2 :(得分:0)

使用window.name属性或在打开浏览器标签页时为每个用户设置Cookie。

答案 3 :(得分:0)

您的应用程序未检查用户当前是否已登录,因此您必须执行此操作 首先,当用户输入凭证并登录时设置会话变量

$_SESSION['logged_in'] = "true";

然后你必须对你的索引页进行一些修改,如下页

所述
<?
if($_SESSION['logged_in']=='true'){
header('location:USERS_SPECIFIC_PAGE_AFTER_LOGIN.EXT')
}
else{
header('location:login_page.ext');
}

?>