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