0

jQuery を使用して POST データをコントローラーに送信するビューがありますが、失敗して次のエラーが発生します。

The request has been black-holed 
The requested address'/settings/submit_bank_info' was not found on this server.

私がそれを機能させる唯一の方法は、そのコントローラーのセキュリティをまとめて削除することです。

問題のコントローラーの前フィルターは次のとおりです

 public function beforeFilter() {
    parent::beforeFilter();
    $this->Auth->allow('help','submit_bank_info');
    $this->Auth->authorize = 'Controller';
}

Cakeのドキュメントでこれを見た場合

セキュリティ コンポーネントを使用する場合、FormHelper を使用してフォームを作成する必要があります。さらに、フィールドの「名前」属性をオーバーライドしてはなりません。セキュリティ コンポーネントは、FormHelper によって作成および管理される特定のインジケーター (特に create() および end() で作成されるインジケーター) を探します。POST リクエストで送信されたフィールドを動的に変更すると (たとえば、無効化、削除、または JavaScript による新しいフィールドの作成)、リクエストのブラックホールがトリガーされる可能性があります。$validatePost または $disabledFields 構成パラメーターを参照してください。

バージョン 2.3.8 を使用しています。他のアクションのセキュリティ コンポーネントを保持できるように、そのアクションを無効にする方法はありますか?

4

1 に答える 1