我正在使用 Symfony 1.4,sfDoctrineGuardPlugin。
在我的后端应用程序中,用户可以通过手动更改 url 来访问他们实际上无法访问的页面。有没有办法阻止它?
可以说,每个作者都可以正常访问自己的数据。但如果他们更改 url 上的 id,他们可以编辑他们想要的文章。我在互联网上搜索但找不到任何解决方案?你知道方法吗?
非常感谢。
我正在使用 Symfony 1.4,sfDoctrineGuardPlugin。
在我的后端应用程序中,用户可以通过手动更改 url 来访问他们实际上无法访问的页面。有没有办法阻止它?
可以说,每个作者都可以正常访问自己的数据。但如果他们更改 url 上的 id,他们可以编辑他们想要的文章。我在互联网上搜索但找不到任何解决方案?你知道方法吗?
非常感谢。
通过隐藏不属于特定作者的内容,您无法保护它们不被编辑或删除。
重载executeEdit
//后端模块executeUpdate
中executeDelete
的操作以避免未经授权的管理。
就像是:
public function executeEdit(sfWebRequest $request) {
...
$this->forward404Unless($this->article->belongsTo($me));
...
}
此外,您可以检查正确的凭据。当您希望某些用户组访问某些特殊内容或其他用户的内容时,它很有用。
希望有帮助。
您必须在文章和作者之间建立关系。我想已经有一个了,所以最好的方法是重写 ArticlePeer 中的 doSelect 方法来检查 Author。只需添加一个标准来选择属于当前用户的文章。