そもそも認証済みセッションのセッションIDが盗聴された場合、「session_regenerate_id(true)」では、旧IDに紐付いた情報は破棄されることと、新しいセッションIDが発行される点はわかりますが、結局、そのタイミングが悪意をもったユーザの操作時点で再生成されない保証はできないような気がします。
その為その被害を軽減しそもそも発生確率を低減する対策として、ユーザ環境に依存する情報で定期的(操作毎?)にセッションIDの保有者と認証時点のユーザの同一性を確認しているという理解です。
そういった意味で、完全に防衛する仕組みは実現できないため、基本的には性悪説に則って考えて情報更新時には基本的にログイン状態を維持できる仕組みでも更新前や重要情報の表示前には再度パスワードによる認証を行うものだと認識しています。
いろいろなブログを拝見して考えていくと、結局自身が高じている悪意のあるユーザへの対策が完全では内容に思え、ちょっと悩んでおります。
例えばPOSTで情報を引き継いでいくって言うのはどうなんでしょうか?
いちいち書くのは面倒だけど、input名さえばれなければ硬いと思うんですが…同じですかね?
おなかいっぱいです。
PHP自身に深刻なセキュリティホールがあったり
サーバのモジュールなどがアップデートされてなく
そこでクラックされたら、いくらWEBアプ側でセキュリティ対策しても意味なくなる。
携帯みたいにね固定識別番号あると楽なんだがそれも端末設定でOFFされてると
取れないし。面倒だね。
あとで客に大騒ぎされないようにあらゆる脆弱性対策を組み込んで免責事項。
きっと完全に防ぐ方法あるんだぜ。そのサイトは最強に使いにくくなるけど。
かといって手をぬくと客に大騒ぎされるし…
言われるままアプリで完璧近い対策しても、レンタルサーバな時点で…ねえ?