禁用表单安全CakePHP

时间:2012-06-12 19:11:51

标签: security cakephp cakephp-2.1

是否可以在视图中仅为1个特定表单转换所有CakePHP安全功能?所以我没有得到任何形式的隐藏字段(令牌)。

谢谢,

巴特

2 个答案:

答案 0 :(得分:3)

您可以通过以下方式禁用该操作:

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

答案 1 :(得分:0)

为了从表单中删除恼人的隐藏输入_Token.keyfields(例如,在使用GET方法时澄清查询字符串),您需要执行以下操作beforeRender以及tigrang's answerbeforeFilter

function beforeRender() {
    parent::beforeRender();
    unset($this->params["_Token"]);
}

(至少对于CakePHP 1.3来说这是实际的)