0

我在我的应用程序中有一个典型的文件上传方法(在插件内),我正在使用这个使用 SFWUpload 的 Uploadify。我将它用于一个用 CakePHP 1.3 编写的应用程序(它工作正常)。现在我将应用程序更新到 CakePHP 2.2.2。问题是,当我尝试上传文件时,我遇到了安全黑洞错误(400 错误)。

  • 我在 beforeFilter() 回调中禁用了上传操作的安全性,但没有成功。
if($this->request->action == 'add_profile_picture'){

   $this->Security->enabled = false;

}
  • 我还禁用了该功能的身份验证,因此我在上传有关会话和 Flash 的传递时没有任何问题...
...
    $this->Auth->allow('add_profile_picture');
...

如果有人有类似的问题并解决它,请给我一两个提示。

谢谢

4

2 回答 2

0

据我所知,“启用”实际上并不是安全组件的属性。您可以改为使用 validatePost 属性来实现相同的目的。

public function beforeFilter() {
        if($this->request->action == 'your_action_name'){
           $this->Security->validatePost = false;
        }
        parent::beforeFilter();
    }
于 2012-10-08T12:06:18.237 回答
0

这个 Flash 上传器是否使用不是由 CakePHP FormHelper 生成的隐藏字段?如果是,您需要在安全组件中将这些字段列入白名单以使其通过。

于 2012-10-02T18:05:24.523 回答