防止未经授权访问Web应用程序

时间:2013-10-15 11:02:38

标签: php session session-variables

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

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

并且会话中设置的值为

$_SESSION["zdb"];

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

3 个答案:

答案 0 :(得分: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");
}

答案 1 :(得分:0)

您也可以使用session_set_cookie_params来定义参数(例如路径和域应该与您的应用程序不同)。

答案 2 :(得分:0)

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