>>561
>変更する仕組みのデバッグが大変

大変じゃないよ。PHPにはセッションID再生成専用の関数があるんだから。

だからセッションIDとあるフィンガープリントを結びつけておいて、
フィンガープリントが異なったらセッションハイジャックが起きたものと見なし、
その時点でセッションIDを再生成し、異なるフィンガープリントでやってきた訪問者(おそらくクラッカー)の
IPを一定時間拒否すればよい。