CodeIgniter は、「要求したアクションは許可されていません」というエラーを返します。CSRFのチェックに失敗した場合。私が理解しているように、これは、攻撃が行われていないことを証明するフォームからの隠しトークンが POST にないことを意味します。
トークンは、CI form_open 関数の呼び出しで自動的に生成されます。
私の場合、Knockout を使用して、次のように ViewModel の内容を投稿して保存しています。
ko.utils.postJson($("form")[0], self.pages);
特定のページのCSRF設定をオフにするだけの解決策を他の場所で見つけましたが、それは良い解決策とは思えません。
おそらく、トークンが受信されていないため、postJson 呼び出しは既存のフォームを送信していません。必要なトークンを JSON データと共に送信する方法、または既存のフォームで JSON データを送信する方法はありますか?