私はこの PHP Web アプリケーションを開発し、現在数か月間実行しています。突然、ユーザーの 1 人が、ログインできたと不満を漏らしましたが、ボタンをクリックするとすぐにセッションが終了しました。異なるブラウザで同じ問題が発生しました。
いくつかのテストの後、おそらく元のセッションの有効期限が切れたため、ユーザーがボタンをクリックするたびに新しいセッション ID が作成されることがわかりました。
なんらかの理由で、ユーザーのコンピューターの時計をちらりと見たところ、驚きました。彼の時計は3ヶ月先でした!それが故障に関係しているかどうかはわかりませんでしたが、時計を修理しました。それでもうまくいきませんでした。すべての Cookie を消去しました。まだ何もありません。それで、ブラウザを再起動しました-そして、再び動作し始めました!
この問題について私が得た最も近い情報は、この質問に対する Shimon Amit の回答でした。これで、時計の「設定ミス」が原因であることがわかりました。問題は... すべての顧客のコンピュータ クロックを制御できるわけではありません。それらの一部は、将来的にコンピューターの時計が設定される可能性があります。
私の質問:これに対する解決策はありますか? 何かトリック?(ある意味では) 私のせいではありませんが、顧客が「不自由」だと感じて、アプリケーションに対する信頼を失う可能性があるため、このようなエラーに直面することは望ましくありません。