1

CodeIgniter は、「要求したアクションは許可されていません」というエラーを返します。CSRFのチェックに失敗した場合。私が理解しているように、これは、攻撃が行われていないことを証明するフォームからの隠しトークンが POST にないことを意味します。

トークンは、CI form_open 関数の呼び出しで自動的に生成されます。

私の場合、Knockout を使用して、次のように ViewModel の内容を投稿して保存しています。

ko.utils.postJson($("form")[0], self.pages);

特定のページのCSRF設定をオフにするだけの解決策を他の場所で見つけましたが、それは良い解決策とは思えません。

おそらく、トークンが受信されていないため、postJson 呼び出しは既存のフォームを送信していません。必要なトークンを JSON データと共に送信する方法、または既存のフォームで JSON データを送信する方法はありますか?

4

1 に答える 1

1

使ってみてform_open()form_close

役立つすべてのフォームヘルパー関数。

Securityまたは:クラスはハッシュの時間に依存するため、タイムゾーンの違いによるものだと思います。

于 2013-09-25T19:05:38.407 に答える