闯入SESSION变量

时间:2012-04-26 17:40:53

标签: php security session

在我项目的每个PHP文件中,我使用以下代码,以便没有人可以在没有登录的情况下进入网站:

<?php
    session_start();
    if($_SESSION['userid']!="myuserid"){
        header("Location: Adminlogon.php");
    }
?>

请注意,我只需要一个用户ID,用户ID和密码在一组人之间共享。

这段代码安全吗?我能做得更好吗?

2 个答案:

答案 0 :(得分:0)

这将是安全的,但是当您使用普通HTTP时,cookie和会话可以在LAN中轻松“劫持”。因此强制您的应用程序服务器使用HTTPS

答案 1 :(得分:0)

您的代码不安全,因为实际上它并不会阻止每个脚本被执行 - 这是您实际想要阻止的。

如果会话设置不正确,为了防止执行,您需要保留文件,例如使用return语句:

<?php
    session_start();
    if ($_SESSION['userid'] != "myuserid")
    {
        header("Location: Adminlogon.php");
        return; ### leave this script/include
    }
?>

您可以使用returnexit语句代替die而不是基本脚本。