我有一个使用登录/注销的webapp,所以我有会话管理。到目前为止,每个页面都以
开头session_start();
if(!isset($_SESSION['username'])) {header("Location: index.php");} else { rest of the page's functionality}
我现在正在创建一个类(User.php);这将由另一个.php页面访问。我是否需要实现上述安全性,如果是,如何实现?我应该把课程放在webroot之上吗? 谢谢
答案 0 :(得分:1)
首先,虽然我假设你已经想到了这一点;只是为了检查在会话中是否设置了用户名并不是特别保存。如果要检查用户是否已登录,则应存在一些其他测试。
而不是回到你的问题;即使没有登录用户,页面也可能访问User类(例如,当您想在博客文章中显示此特定用户的公开评论时)。所以不,不需要你的测试。此外,您还可以检查用户是否已登录到User类(或者更好的是,您将围绕它构建Authentication类),因此您可以执行以下操作:
if(Authentication::is_logged_in($_SESSION['username']) === true) {
echo 'yeeehaaaa! You\'re logged in bro!';
} else {
echo 'what are you doing here?! Get lost! (or log in)';
}