11

私たちの実稼働サーバーは、数か月前から無効な認証トークン エラーを生成しています。エラーは、(PUT|POST|DELETE) リクエストを送信するほぼすべてのフォームで生成されます。エラーが発生する場合と発生しない場合があります。なぜそれらが発生するのかについて韻や理由はないようです。エラー自体は頻繁に発生するわけではありませんが、心配です。以下は、このエラーの原因となる典型的なフォームの例です。

<form class="button_to" method="post" action="/lesson_progress_trackers/333">  
  <input type="hidden" name="_method" value="patch">
  <input class="finish-lesson-button" type="submit" value="Done!">
  <input type="hidden" name="authenticity_token" value="Qd3FsJZY2UXR9vahuFmaY5rrqA+J5xzGpl4cGI2Vwerx8PZPQtDMugz6oqoe3iviC+/U5zTYPdeX3apwbap09E==">
  <input type="hidden" name="completed" value="true">
</form>

これが私がこれまでに発見したものです。

  1. Turbolinks 2.5.3 を使用しています (これは 1 年以上更新されていません)。
  2. 無効なトークン エラーが発生するたびに、ユーザーは認証トークンをサーバーに渡しましたが、最終的には無効になりました。
  3. 現在protect_from_forgery with: :exception、アプリケーションコントローラーで使用しています。
  4. 数か月前に一連の新しいコードを本番環境にプッシュしたときに、エラーが発生し始めました。この新しいコードは数百のファイルにまたがっていますが、これまでのところ、この問題に関連するコードは見つかりませんでした。
  5. このエラーは、どのタイプのブラウザとデバイスでも発生する可能性があります。
  6. トラフィックの増加と無効な認証トークンの表示との間に相関関係はありません。
  7. ユーザーはどの国からでも来ることができます。
  8. これらは、これらの問題が発生しているボットではありません。私たちの同僚にもこのエラーが発生したことがありましたが、彼らはエラーを発生させるために何をしたか覚えていません。
  9. ユーザーは、予期しない場合でも典型的な動作に従います。彼らは意図したとおりにアプリを使用しています。私は彼らのクリックと記録された行動履歴に目を通し、これを結論付けました.

最終的には、これを解決する方法を見つけたいと思います。私の最初のステップは、エラーを正常に再現することですが、それもできません。私の質問は次のとおりです。これの原因を突き止めるにはどうすればよいですか? オプションが不足しています。ありがとう!

4

1 に答える 1