Posted at

[小ネタ] セッションの一括無効化

More than 3 years have passed since last update.

パスワード漏洩やブルートフォース攻撃などに対処するため、あるアカウントでログインしている全てのデバイスのセッションを無効化できなければいけない。多くの Web フレームワークはリクエストのあったセッションの無効化は対応しているが関連するセッションまでは関知しない。以下のような実装を行うことでフレームワークのソースを改修しなくても対処することが出来る。


  1. セッション発行時に日時情報を付加しておく。

  2. アカウントにセッション有効日時を付加する。

  3. パスワードが変更されたタイミングなどでセッション有効日時に現在時刻を設定。

  4. リクエストのあったセッションがその有効日時より前に生成されたものなら無効なセッション。