在我项目中的每个 PHP 文件中,我都使用以下代码,这样没有人可以在不登录的情况下进入网站:
<?php
    session_start();
    if($_SESSION['userid']!="myuserid"){
        header("Location: Adminlogon.php");
    }
?>
请注意,我只需要一个用户 ID,用户 ID 和密码在一组人之间共享。
这段代码安全吗?我能做得更好吗?
这将是安全的,但是当您使用纯 HTTP 时,cookie 和会话很容易在 LAN 中“劫持”。所以强制你的应用服务器使用 HTTPS
您的代码不安全,因为实际上它并不能阻止每个脚本被执行——这是您真正想要阻止的。
如果会话设置不正确,为了防止执行,您需要保留文件,例如使用 return 语句:
<?php
    session_start();
    if ($_SESSION['userid'] != "myuserid")
    {
        header("Location: Adminlogon.php");
        return; ### leave this script/include
    }
?>
return您也可以使用exitor语句代替die基本脚本。