CakePHP3、Formのactionを改ざんしてPOSTすると404になる

  • form#action 先を改ざんして POST すると、404
  • その url を GET は問題なし

エラーログを見ると、こんなのがでていました

URL mismatch in POST data (expected '/admin/posts/add' but found '/admin/posts/preview')

Stackoverflow によると 3.6.1 にあげろとのこと*1

が、3.5 なのでそっと SecurityComponent を unload しましたとさ

<?php

class PostsController extends AppController
{

    public function initialize()
    {
        parent::initialize();

        if (in_array($this->request->getParam('action'), ['preview'])) {
            $this->components()->unload('Security');
        }
    }
}