0

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

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

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

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

4

2 回答 2

0

这将是安全的,但是当您使用纯 HTTP 时,cookie 和会话很容易在 LAN 中“劫持”。所以强制你的应用服务器使用 HTTPS

于 2012-04-26T17:46:38.510 回答
0

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

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

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

return您也可以使用exitor语句代替die基本脚本。

于 2012-04-26T18:57:50.817 回答