Re: [請益] 檢查是否登入更安全的做法?
※ 引述《inventorr (風之子)》之銘言:
: 大家好 想請問一下
: 有些網頁需要登入後才可瀏覽
: 一般都是檢查 是否有設定 某個欄位(ex:password) 的cookie or session
: 我個人目前是檢查 userid 跟 password 的cookie有沒有設定
: 不過現在忽然覺得 只檢查有沒有設定 是不是安全性有點弱呢
: 因為user可以自己隨便設定
: 但如果那些頁面都去開資料庫檢查 userid 與 password是否正確 卻又有點覺得不必要
: 不知道大家有沒有折衷的想法 (不用session的話)
: 目前有想到對cookie加密
如果你想放的資料, 可以容許被 user 看到, 但是不容許 user 隨意修改的話.
(例如說想記錄 user 本人的 userid, 代表他已經登入)
那麼你可以在 cookie 裡面類似這樣存:
$sig = md5("secret_key.$userid");
setcookie("key_name", "$sig.$userid");
(其中這個「secret_key」是你自己想的一組密碼, 不可以外洩)
那麼, 你的系統在收到 $_COOKIE["key_name"] 之後,
可以藉由檢查這個 md5 計算有沒有一致.
如果你想要控制這一組 cookie 只有在一段時間內有效,
你可以把目前時間也存進去:
$time = time();
$sig = md5("secret_key.$userid.$time");
setcookie("key_name", "$sig.$userid.$time");
然後在收到的時候檢查這個時間有沒有距離現在時間太遠.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.242.246.249
※ 編輯: CindyLinz 來自: 210.242.246.249 (09/10 13:15)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
151
156