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()
フラッシュページをレンダリングするだけでなく、コントローラーの実行を継続することです。
だから私が何かをしない限り
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')
));
}
フラッシュ メソッドはリダイレクトしないため、csrf 保護はまったく提供されません。メソッド内でreturn;
afterを使用しても機能しません。$this->flash()
_crsf_error
PS:完全なコードはこちらから入手できます