[請益] Session登入狀態請益

看板PHP作者 (巨蟹)時間11年前 (2015/01/19 09:02), 11年前編輯推噓1(1012)
留言13則, 2人參與, 最新討論串1/1
聽過有網站直接在 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

01/19 10:11, , 1F
安全,一般人沒辦法直接拿到session
01/19 10:11, 1F

01/19 10:12, , 2F
那種狀況下,入侵的方式是拿到COOKIES
01/19 10:12, 2F
了解~感謝!

01/19 10:24, , 3F
驗證很簡單,存一些uid之類的資訊,再存一個hash
01/19 10:24, 3F

01/19 10:25, , 4F
hash內容包括一個密鑰,不存在session裡
01/19 10:25, 4F

01/19 10:26, , 5F
驗證時取出資訊,跟密鑰再hash一次,看有沒有符合
01/19 10:26, 5F

01/19 10:30, , 6F
這樣就不牽涉資料庫。就算每頁都要對資料庫檢查權限那
01/19 10:30, 6F

01/19 10:30, , 7F
也可以用cache和其他手段來緩和。
01/19 10:30, 7F
我是用Codeigniter當Framework 不知道他本身是不是本來就有hash session? 是的話,那我真的擔心太多了XD ※ 編輯: hareion08 (140.112.50.144), 01/19/2015 10:40:51

01/19 10:54, , 8F
你用CI可能反而要小心一點 CI改用cookie來模擬session
01/19 10:54, 8F

01/19 10:57, , 9F
而且除非你用一些third-party的login plugin 他並沒有
01/19 10:57, 9F

01/19 10:57, , 10F
內建的機制特別做每一頁的hash validation
01/19 10:57, 10F

01/19 10:58, , 11F
有寫好的library可以直接把CI的cookie-based session
01/19 10:58, 11F

01/19 10:59, , 12F
換回php native session 至少可以保證一定存在server上
01/19 10:59, 12F

01/19 11:00, , 13F
可以找一找 然後把system/libraries/Session.php換掉
01/19 11:00, 13F
已替換( 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
文章代碼(AID): #1Kl5UX21 (PHP)
文章代碼(AID): #1Kl5UX21 (PHP)