在我项目中的每个 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
您也可以使用exit
or语句代替die
基本脚本。