$_SESSION[] 变量是否可利用

are $_SESSION[] vars exploitable

我正在为自定义 CMS 开发管理系统。在属于管理站点的所有页面上,我使用 check_user() 函数。 check_user() 函数只做这个:

function check_user()
{
    session_start();

    if ($_SESSION['username'] == "admin") {

    } else {
        header("location:admin.php");
    }
}

虽然这看起来有点简单,但这足以让不需要的成员远离网站吗? $_SESSION[] 变量的可利用性如何?有什么改进这个功能的建议吗?

提前致谢!

在给定的代码中,$_SESSION 不可利用,如果 register_globals 关闭(在所有最新安装中将关闭...但只是为了确定)

虽然取决于这些会话参数的设置方式,但它可能会被利用。 (例如,使用请求参数作为会话变量中的键)

为了改进此代码,我建议始终启动一个会话,独立于 check_user 调用。这使您能够重复使用 check_user.