2016-11-23 14 views
1

現在、私はCodeigniterで開発中です。 Codeigniterの中には、15のajaxリクエストがあります。要求があるたびに、csrfトークン値を更新します。問題は、15回以上リクエストすると「403 Forbidden」というエラーが発生します。Codeigniter too many requst csrf ajax

Codeigniterには制限がありますか?もしあれば、この制限をどのように取り除くのですか? ありがとうございます。

答えて

1

このような制限はありません。 CSRFトークンの更新を追跡していないだけです。

POSTリクエストを送信するたびに、CodeIgniterはCSRFトークンを再生成し、レスポンスの新しいCSRFクッキー値として返信します。
事前生成されたフォーム(または他のタイプのajaxリクエストデータ)を新しい値で更新しないと、それらは依然として古いトークンを持ち、検証に失敗します。

config/config.phpファイルに$config['csrf_regenerate'] = false;を設定することで、再生成を完全に無効にすることはできますが、これはお勧めしません。適切なことは、トークンの変更を追跡することです。

+0

毎秒リクエストしています。 csrfトークンを作成する時間が1秒を超えるとエラーが発生しますか? –

+0

いいえ...それは時間についてではありません、それはあなたが持っていない同期についてです。 – Narf

+0

私は今のところcsrf_regenerateを無効にしました。私は、csrf_regernateが無効になっている場合、csrfの作成は意味がないと考えています。 コメントありがとうございます。 –