在应用程序的每个页面上,我都会检查用户是否已登录。我最近意识到我的脚本结构不合理并进行了一些更改。我想知道这种新方法是否为未登录的用户实现了正确的操作顺序。
<?php
ob_start();
session_start();
if ($_SESSION['loggedin'] !== true) {
$_SESSION['messages'][] = '<li>User Not Logged In</li>';
session_write_close();
ob_end_clean();
header('Location: login.php');
exit;
}
else {
// execute page
}
?>
在此脚本之前,该ob_start()
调用位于登录检查部分下方,因此会导致重定向问题,因为它session_start()
会产生自己的标头。
我还想知道脚本是否为登录检查提供足够的安全性。