目前,我正在使用会话变量来确定谁正在查看网站,然后将用户会话名称与正在查看的配置文件名称进行匹配。如果匹配,那么配置文件将是可编辑的(因为它是他们的配置文件)。
我正在使用:
$pid = $_GET['pid']; // Profile being viewed
$edit = $_GET['edit']; // true/false for editing
$username = $_SESSION['username'];
$pclass = new user_profile($db, $pid, $username);
$pclass
只需要我的数据库连接,正在查看的配置文件和用户查看。
class user_profile {
private $db;
private $viewer;
public function __construct(\database $db, $pid, $viewer) {
$this->db = $db;
$this->username = $pid;
$this->viewer = $viewer;
}
}
用于显示编辑按钮然后允许用户查看编辑页面我使用的方法myProfile()
就是:
public function myProfile() {
if($this->username === $this->viewer) {
return true;
}
else {
return false;
}
}
这是一种足够安全的方法来阻止用户编辑其他人的个人资料,还是有另外一种方法来解决这个问题?
答案 0 :(得分:0)
鉴于您提供的信息,这是一种安全的方法。
$_SESSION
是您在服务器上控制的内容,用户无法修改。