Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何防止用户访问其他用户记录?_Php_Mysql_Sql_Zend Framework_Zend Framework2 - Fatal编程技术网

Php 如何防止用户访问其他用户记录?

Php 如何防止用户访问其他用户记录?,php,mysql,sql,zend-framework,zend-framework2,Php,Mysql,Sql,Zend Framework,Zend Framework2,扩展Zend Framework相册示例如何防止用户编辑其他记录 我正在使用Zend Framework 2、PHP、MYSQL和ZFC用户Rbac 当前“相册”编号显示在url中。如果用户登录,表中将显示他们的记录(相册)。但是,如果他们去编辑相册,它会在url中显示唯一的相册编号。然后,用户可以将其更改为编辑其他相册。预防这种情况的最佳方法是什么?在url中显示记录id之前,我是否可以/应该使用他们的方法对记录id进行盐处理 感谢您的时间和投入 Matt下面是一些伪代码,试图说明我在评论中所

扩展Zend Framework相册示例如何防止用户编辑其他记录

我正在使用Zend Framework 2、PHP、MYSQL和ZFC用户Rbac

当前“相册”编号显示在url中。如果用户登录,表中将显示他们的记录(相册)。但是,如果他们去编辑相册,它会在url中显示唯一的相册编号。然后,用户可以将其更改为编辑其他相册。预防这种情况的最佳方法是什么?在url中显示记录id之前,我是否可以/应该使用他们的方法对记录id进行盐处理

感谢您的时间和投入


Matt

下面是一些伪代码,试图说明我在评论中所说的内容

$albumId = /*however you retrieve parameters*/;
$album = /*however you get album*/
$user = /*however you get user*/

if ($album->getOwner()->getId() != $user->getId()) {
    //redirect to another page with an error message
}

你现在有没有记录用户自己的专辑?我有。当他们查看相册时,相册表上有一个用户id,请检查他们是否拥有该相册。如果他们没有重定向到给他们一个错误消息的页面,视图可以工作(让我知道发布代码是否有用)。我回显了该用户拥有的所有相册。每行旁边都有一个编辑相册的链接(重定向到不同的页面)。在这个页面上,url是www.mysite/album/3。一旦进入此页面,用户可以将相册号码更改为他们想要的任何号码。例如,用户可以输入1,即使他们不是所有者,他们也会看到要编辑的相册id为1。我最好是在编辑页面中运行一个查询来获取明矾所有者的ID吗?因此,在编辑页面中,逻辑执行我上面所说的。您也可以考虑断言的使用,如