看板 PHP 關於我們 聯絡資訊
聽過有網站直接在 Session存一個值就表示登入中 例如:Login=ok,user=admin 真的安全嗎? 雖然說session是伺服器端而且有加密 … 不過另一種做法 在session 存登入資訊或token 每個頁面都做驗證 這樣感覺很吃資料庫跟系統的效能 Orz 請各位前輩指教 -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.222.125 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1421629345.A.081.html ※ 編輯: hareion08 (118.160.222.125), 01/19/2015 09:03:13
LaPass: 安全,一般人沒辦法直接拿到session 01/19 10:11
LaPass: 那種狀況下,入侵的方式是拿到COOKIES 01/19 10:12
了解~感謝!
MOONRAKER: 驗證很簡單,存一些uid之類的資訊,再存一個hash 01/19 10:24
MOONRAKER: hash內容包括一個密鑰,不存在session裡 01/19 10:25
MOONRAKER: 驗證時取出資訊,跟密鑰再hash一次,看有沒有符合 01/19 10:26
MOONRAKER: 這樣就不牽涉資料庫。就算每頁都要對資料庫檢查權限那 01/19 10:30
MOONRAKER: 也可以用cache和其他手段來緩和。 01/19 10:30
我是用Codeigniter當Framework 不知道他本身是不是本來就有hash session? 是的話,那我真的擔心太多了XD ※ 編輯: hareion08 (140.112.50.144), 01/19/2015 10:40:51
MOONRAKER: 你用CI可能反而要小心一點 CI改用cookie來模擬session 01/19 10:54
MOONRAKER: 而且除非你用一些third-party的login plugin 他並沒有 01/19 10:57
MOONRAKER: 內建的機制特別做每一頁的hash validation 01/19 10:57
MOONRAKER: 有寫好的library可以直接把CI的cookie-based session 01/19 10:58
MOONRAKER: 換回php native session 至少可以保證一定存在server上 01/19 10:59
MOONRAKER: 可以找一找 然後把system/libraries/Session.php換掉 01/19 11:00
已替換( http://ppt.cc/~YsH ),感謝提醒 然後再自己寫個hash validation鞏固安全! ※ 編輯: hareion08 (140.112.50.144), 01/19/2015 11:13:51 ※ 編輯: hareion08 (140.112.50.144), 01/19/2015 11:14:13