0

我为我的公司创建了两个 Web 应用程序,我正在检查应用程序每个页面上的用户凭据我正在使用会话验证用户,我什至在会话中设置了一些值以在整个应用程序中使用,但现在问题是何时我在同一台机器上使用这两个应用程序,他们的会话相互冲突,当我登录到另一个应用程序时,存储到会话中的值也会被覆盖,而第一个应用程序已经启动这里是我在会话中检查用户的代码

if(!isset($_SESSION["username"])){
   header("Location: index.php");
}

并且在会话中设置的值是

$_SESSION["zdb"];

有没有其他方法可以防止未经授权访问我的应用程序?

4

3 回答 3

1

例如,您可以使用前缀命名您的会话。

应用 1

$sess_prefix = 'app1';
if(!isset($_SESSION[$sess_prefix.".username"])){
   header("Location: index.php");
}

和应用程序 2

$sess_prefix = 'app2';
if(!isset($_SESSION[$sess_prefix.".username"])){
   header("Location: index.php");
}
于 2013-10-15T11:06:34.687 回答
0

您还可以使用session_set_cookie_params来定义参数(如路径和域,这对于您的应用程序应该是不同的)。

于 2013-10-15T11:11:01.163 回答
0

您好以这种方式确保您必须创建或销毁不同名称的会话。如果您想在同一浏览器中同时使用这两个应用程序。您还可以在应用程序中生成 id(唯一)名称会话。

于 2013-10-15T11:16:08.600 回答