如何处理查看帖子的访客用户?

时间:2015-12-12 12:25:11

标签: php session

我有一个post.php页面,其中显示了我网站上的帖子。它根据访问它的用户类型显示功能/链接,如编写帖子的用户(会话持有者),它将显示编辑和删除按钮,而不是其他人。 为此,我正在使用会话:

if(!empty($_GET['username'])) { 
$username = $_GET['username'];
}
else if(!empty($_SESSION['username'])) { 
$username = $_SESSION['username'];
}
else{
// do nothing
}

现在问题出现在访客用户(用户未登录)上,因为会话持有者$_SESSION['username'];是可操作的,并且对于logged_in用户(但不是会话持有者)$_GET['username'];是可操作的,因此访客用户未定义此页面上的变量。为了解决这个问题,我在上面$username="";语句中添加了else,所以现在该语句是:

if(!empty($_GET['username'])) { 
$username = $_GET['username'];
}
else if(!empty($_SESSION['username'])) { 
$username = $_SESSION['username'];
}
else{
$username="";
}

这虽然解决了我的问题,但我想确定使用此方法是否存在任何安全风险或其他问题。欢迎任何更好的主意。

1 个答案:

答案 0 :(得分:1)

首先使用post方法获取数据

成功登录后

//

$username = $_POST['username'];
 $_SESSION['loggedin'] = generate token or true or false ur choice;

//restrict this in ur all contructor of view
if($_SESSION['loggedin']){
//ur accessible here you are authorized;
}
else {
//sorry we are redirecting you;

}