0

在我的视图 index.phtml 中的多用户应用程序中:

<a href="<?php echo $this->url( array( "module" => "myModule", "controller"
=>"myController","action" => "edit", "id" => $objThings->thingsid), 
'default', TRUE )?>

单击此链接将导致网址:

http://website/mymodule/mycontroller/edit/id/228 

用户可以在其中编辑记录。

登录后,用户可以复制此 url 并将参数更改为 229 或 130 等,并获取其他用户的信息。

防止这种情况的最佳做法是什么,在记录级别设置身份验证并拒绝访问其他用户的记录?(当然记录有一个用户标识)。
隐藏 url 中的参数将是一个不吸引用户的步骤,欢迎对此提出建议。还需要在模块/操作级别上进行身份验证。

我一直在寻找,但似乎找不到解决方案。

4

1 回答 1

0

两者都做。如果您想编辑登录用户的个人资料详细信息,则不需要 URL 中的 id,因为您已经知道他们是谁。

然后,在您的更新代码中,只允许他们更新他们的特定数据。

如果您有一个已登录的用户,您很可能拥有一个对象,这将使更新他们的数据变得容易(取决于您是否使用 ActiveRecord 或其他东西),否则请确保您在 SQL 中使用 id。

于 2013-04-17T21:24:17.930 回答