關於複製 session id 就可以登入的問題


#1

大家好,

關於 rails 只要竊取到網站某已登入會員 session id ,
就可以直接更改 cookie 用該 session id 登入,
網路上有找到利用增加 ip 和瀏覽器資訊判斷,
除此之外還有什麼作法嗎?大家都是用哪些做法呢?

謝謝大家!


#2

首先,如何竊取 session id,這年頭連 JavaScript 都偷不到 cookie 了(大多數瀏覽器已全面禁止 cookie 修正),除非封包擷取唄 … anyway 你說的東西崩盤是會天下大亂的問題,和是不是 Rails 完全無關,為何需要太多考慮呢?每次看到這種都感覺 … 你應該把你的東西先做好,然後有人用,再來考慮會好點唄,否則只是被害妄想症而已

基本上幾個點:memcached 有過期時間,所以 session 太久會過期無法使用,IP 綁定無法,因為使用者一用 3G / wifi 切換就會跳 IP,你要重新讓使用者登入?或是傳統 ADSL / VDSL 過一個晚上或到一定時間也都會幫你換 IP 的,瀏覽器資訊可能可以,但如果你用完整配對,瀏覽器更新版本後更新 UA 了呢?且每次一定都會需要比對,最後,你的問題最可以用的應該是 IP 區域判斷唄,所以我目前也看得到比較多的是 IP 換國家會跳提醒重新登入而已,而 IP 對國家的 table 網路上下載得到哩,類似搜尋『ip country database』應該就可以找到了,剩下是查閱和整理的技術而已,有需要我再另外提供(事實上我們有用 … )

so~ 以上