API を介した単純なパスワード ログインのため、最近、アプリケーションを http から https に移行しました。
ただし、そうしてから、ブラックホールに実際の問題が発生しています。Cake は、コントローラー内の API 関数への「POST」をブラックホール化するように見えますが、
$this->Security->validatePost = false;
AppController.php に設定されている
CakePHP バージョン 2.1.3 を使用しています
コードの例は次のとおりです。
AppController.php:
function beforeFilter()
{
$this->Security->validatePost = false;
$this->Security->requireSecure();
}
SaleOrderController.php:
function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allow('addApi'); // Allow access to the API without logging in.
}
この URL に POST すると、次のメッセージが返されます。
これを (ブラックホール化することなく) 機能させることができたら、validatePost = false で特定のアクションのみを実行できるように調整します。ただし、今のところ、システムを機能させたいだけです。
注: アクションへの 'GET' リクエストは正常に機能します (ブラックホール化されません)。
ここでいくつかの簡単な構成が欠けているのでしょうか、それとももっと深い問題がありますか? セキュリティ モジュールはドキュメントが少し不足しているように見えます。私の Google 検索によると、ほとんどの人が私と同じ手順を実行することでブラックホール化を回避しているようです。