使用CakePHP 2.1
我有以下代码
public function getForm($id=null){
$this->loadModel('DynamicFormResponse');
/**
* Check if form exists
*/
$this->form_schema= $this->DynamicForm->isValidForm($id);
if($this->form_schema == false){
$this->flash("Invalid form", $this->referer(
array('controller'=>"pages", 'action' => 'display')
));
}
...
...
我面临的问题是,调用$this->flash()
呈现 Flash 页面但也继续执行控制器。
所以除非我做类似的事情
if($this->form_schema == false){
$this->flash("Invalid form", $this->referer(
array('controller'=>"pages", 'action' => 'display')
));
return;
}
控制器不会终止。
_crsf_error
调用方法时会出现主要问题
function _csrf_error() {
$this->flash("csrf Error", $this->referer(
array('controller'=>"pages", 'action' => 'display')
));
}
由于 flash 方法不重定向它根本不提供 csrf 保护。在方法中使用return;
after不起作用。$this->flash()
_crsf_error
PS:此处提供完整代码