The problem with using just a session_id is that it becomes very easy to hijack (takeover) a session. All a user need do is obtain the session_id and add it to the url as they browse the board. If the id they grab happens to be a logged in admin or moderator ... well you get the picture.
What we do to help complicate the situation is also tie the session to the users IP. Using this method someone would need to spoof an IP and obtain the session_id in order to hijack a session, not incredibly difficult but certainly harder ... and with this sort of software it's really a case of making everything harder to do, thus disuading all but the most ardent "hackers" from bothering to attempt anything.
取自英文的 Invalid_session 錯誤解說,完整的解說請看第一篇
如果安全檢查只檢查用戶的 session_id,那麼駭客只需要取得您的 session_id,貼在 URL 後,他便可以輕易的"成為那一個人",如果那 session_id 剛好是屬於版主或管理員的話,那後果您就可以想像的到了
phpbb 2.0.4 版所用的安全檢查不僅使用 session_id,而且使用那個 session_id 的用戶得擁有正確的 IP,否則便會發生 Invalid_session 的問題。這樣子將會使駭客較難 Hack 您的論壇
~Mac