1

我正在使用 Symfony 1.4,sfDoctrineGuardPlugin。

在我的后端应用程序中,用户可以通过手动更改 url 来访问他们实际上无法访问的页面。有没有办法阻止它?

可以说,每个作者都可以正常访问自己的数据。但如果他们更改 url 上的 id,他们可以编辑他们想要的文章。我在互联网上搜索但找不到任何解决方案?你知道方法吗?

非常感谢。

4

2 回答 2

1

通过隐藏不属于特定作者的内容,您无法保护它们不被编辑或删除。

重载executeEdit//后端模块executeUpdateexecuteDelete的操作以避免未经授权的管理。

就像是:

public function executeEdit(sfWebRequest $request) {
    ...
    $this->forward404Unless($this->article->belongsTo($me));
    ...
}

此外,您可以检查正确的凭据。当您希望某些用户组访问某些特殊内容或其他用户的内容时,它很有用。

希望有帮助。

于 2011-01-24T13:39:57.517 回答
0

您必须在文章和作者之间建立关系。我想已经有一个了,所以最好的方法是重写 ArticlePeer 中的 doSelect 方法来检查 Author。只需添加一个标准来选择属于当前用户的文章。

于 2011-01-24T05:22:24.527 回答