Php 基于会话的块访问

Php 基于会话的块访问,php,session,Php,Session,我在一个基于用户的网站上工作。因此,我为不同的用户提供了不同的部分。我希望如果会话用户名是“Rock”,他就不能访问其他用户的个人资料,比如说“Gray” 所以 我该怎么做 谢谢你在格雷的页面上,你可以: if($_SESSION['username'] != 'gray'){ header('Location: http://www.goal.com/'); exit; } 若你们想允许某些人访问格雷的页面,你们可以有一个数组,里面有可以访问它的人 $allowed =

我在一个基于用户的网站上工作。因此,我为不同的用户提供了不同的部分。我希望如果会话用户名是“Rock”,他就不能访问其他用户的个人资料,比如说“Gray”

所以

我该怎么做


谢谢你

在格雷的页面上,你可以:

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;
}

如果你有多个用户,你不能硬编码这种类型的东西

假设您正在使用数据库

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

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

所谓访问,我的意思是在像goal.com/user/gray这样的URL中简单地键入它。
// Comes from database
$username = $row['username'];

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