CodeIgniter CSRF には、問題を引き起こしている可能性のある設定があります。/config/config.php では、設定$config['csrf_expire']
によって CSRF Cookie の有効期間が決まります。たとえば、その設定が 300 (5 分) で、ログイン ページを更新した後、10 分間サインインを試行しなかった場合"The action you have requested is not allowed."
、CSRF Cookie の有効期限が 5 分前に切れているため、エラーが発生します。
基本的に、このエラーは CodeIgniter CSRF Cookie の有効期限が切れていることが原因である可能性があります。その Cookie はページが読み込まれるときに設定されるため、フォームを含むページが設定よりも長くそこにある場合は$config['csrf_expire']
、フォームを送信する前にページを更新する必要があります。そうしないと、そのエラーが発生します。エラーが頻繁に発生しないようにするには、 のサイズを大きくしてみてください$config['csrf_expire']
。
また、CodeIgniterフォーム ヘルパーを使用すると、非表示の CSRF 入力が自動的に生成されます。