管理员可以在他的网站中看到他的所有用户个人资料,因此他点击了用户链接,他可以以用户身份登录。现在问题是我设置了会话名称用户和管理员一样。现在我需要在私人浏览器中打开用户配置文件。其他明智的会议冲突发生。所以我如何能在私人浏览器中打开它,我无法改变会话名称too.if我确实需要机会,整个网站。是有可能做或不在私人浏览中打开一个新标签
help me to do it
管理员可以在他的网站中看到他的所有用户个人资料,因此他点击了用户链接,他可以以用户身份登录。现在问题是我设置了会话名称用户和管理员一样。现在我需要在私人浏览器中打开用户配置文件。其他明智的会议冲突发生。所以我如何能在私人浏览器中打开它,我无法改变会话名称too.if我确实需要机会,整个网站。是有可能做或不在私人浏览中打开一个新标签
help me to do it
你不能去做。它取决于用户,它将在私人浏览器或默认浏览器中打开。你不能改变浏览器的行为。尤其是因为并非所有的浏览器甚至都有这样的功能!
你不能这样做,你不能干涉浏览器的功能,它取决于用户在哪种模式下打开你的网站。
为你想要做什么......
// have a session which specifies the type of user.
$_SESSION["utype"] = "admin" // or user
,并以此来显示相应的内容。
您无法强制链接在任何浏览器中以隐藏浏览模式打开,因此您需要使用其他人提到的$_SESSION
来跟踪您的唯一用户会话。
您还需要根据当前用户实现唯一的URL结构。 Gmail的通过使用下面的URL结构实现此功能:
在URL中示出的数/0/
指的是每个当前登录的用户的保持记住,该号码是而不是用户ID或任何潜在的敏感信息,但只是一个索引来引用s中的值分裂国家。
的幕后,$_SESSION
的一个简单的例子是如下:
$_SESSION['authenticated_users'] = [
0 => [
'user_id' => 123,
'username' => 'John',
'user_role' => 'admin',
],
1 => [
'user_id' => 456,
'username' => 'Jill',
'user_role' => 'customer',
],
2 => [
'user_id' => 789,
'username' => 'Mark',
'user_role' => 'customer',
],
];
您需要将代码组织以这样一种方式,它验证请求的URL之间的当前用户和认证用户在$_SESSION
。
在只有一个用户登录到网站(例如客户)的情况下,您不需要在URL中显示/0/
部分。
抱歉,您无法强制用户进入隐私浏览模式。最好为管理员和用户创建两个不同的会话信息。像$ _SESSION ['user']和$ _SESSION ['admin'] – 2015-02-23 11:38:58
为什么downvote?当然,英语不是最好的,但问题本身是一个很好的问题,我认为... – 2015-02-23 11:45:02