Cakephp 2.2和SWFUploader黑洞

时间:2012-10-02 11:28:56

标签: security cakephp cakephp-2.0 uploadify swfupload

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

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

   $this->Security->enabled = false;

}
  • 我还为该功能禁用了Auth,所以我在上传会话和Flash的过程中没有任何问题......
...
    $this->Auth->allow('add_profile_picture');
...

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

由于

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

据我所知,'enabled'实际上并不是Security组件的属性。您可以使用validatePost属性来实现相同的目的。

public function beforeFilter() {
        if($this->request->action == 'your_action_name'){
           $this->Security->validatePost = false;
        }
        parent::beforeFilter();
    }