防止对 Web 应用程序进行未经授权的访问


preventing unauthorized access to a web application

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

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

在会话中设置的值为

$_SESSION["zdb"];

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

例如,您可以使用前缀为会话命名命名空间。

应用 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");
}
您还可以

使用session_set_cookie_params来定义参数(例如路径和域,对于您的应用程序来说应该不同)。

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