基于SESSION阻止访问

时间:2010-12-13 13:03:09

标签: php session

我正在开发基于用户的网站。所以,我为不同的用户提供了不同的部分。我希望如果会话用户名是“Rock”,他应该无法访问其他用户的个人资料说“灰色”。

所以,

if $_session['username']=="rock"
{
//BLOCK ACCESS TO OTHER FILES IN FOLDER PLACED IN DIRECTORY
}

我该怎么做?

谢谢

2 个答案:

答案 0 :(得分:0)

在灰色页面上你可以:

if($_SESSION['username'] != 'gray'){
     header('Location: http://www.goal.com/');
     exit;
}

如果您想允许某些人访问灰色页面,您可以拥有一个可以访问它的人的阵列......

$allowed = array('bob', 'james');

if(!in_array($_SESSION['username'], $allowed)){
     header('Location: http://www.goal.com/');
     exit;
}

或者反过来说,如果你只想拒绝某些人访问,你可以拥有。

$blocked = array('rock', 'pop');

if(in_array($_SESSION['username'], $blocked)){
     header('Location: http://www.goal.com/');
     exit;
}

答案 1 :(得分:0)

如果您有多个用户,则无法对此类内容进行硬编码。

假设您使用数据库...

// Comes from database
$username = $row['username'];

// Check session
if ($username !== $_SESSION['username']) {
    header("Location: /access/denied/page/");
    exit();
}