質問: 質問は、特定のPHPベースのWebアプリケーションでのセッションID管理に関連しています。 web-appは、固定ユーザーのセッションごとに同じセッションIDを使用します。したがって、アプリケーションのログアウト後、次にユーザーがログインすると、同じセッションIDがCookieとして解放されます。ただし、ユーザーがログインしていない間、アプリケーションはCookieの使用を禁止します(同じCookieを使用してHTTP要求を再送信すると、ログインページに転送されます)。 これは悪いセキュリティ対策と考えられますか?同じセッションIDが*の場合、すべて*ユーザーの場合はどうでしょうか?
回答: データベースを使用して、目的に反しセッションの認証済み状態を無効にしたとき 少なくとも1つの特定の脆弱性が存在します。セッションIDが予測可能になりました。次のことを考慮してください。AliceはクライアントAのシステムを使用します。ログアウト後、セッションはもはや有効ではないとフラグを立てているかもしれませんが、セッショントークンはまだこのクライアントから回復可能です。チャックが来て、クライアントAからセッションIDを抽出します。セッションに認証されていないとフラグが付けられているため、システムにアクセスできません。しかし、その後、AliceはクライアントBからログインします。セッションはもはやロックされず、チャックは自由にアクセスできます。 > > 同じセッションIDをすべてのユーザーに使用するとどうなりますか? > > > WTF ??? !!!! これはセッションIDではありません。