看板 PHP 關於我們 聯絡資訊
目前想再登入時將一些必要的驗證資料用session儲存, 雖然知道會增加伺服器負擔, 但是想問問,經由session來驗證是否會碰到偽造的session? 程式碼大約如下 ※login.php if(--帳密跟資料庫比對無誤--) { $_SESSION[account][level]=資料庫記錄的會員階級; } ※main.php if($_SESSION[account][level]>0) { ...可以做level1的操作 if($_SESSION[account][level]>1) { ...可以做level2的操作 if($_SESSION[account][level]>2) { ...可以做level3的操作 } } } 這樣的作法會不會太沒效率? 在安全上有漏洞嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.77.57.233 ※ 編輯: john0227 來自: 203.77.57.233 (02/22 01:46)
lhsieh :覺得可以,只要知道session name 02/22 03:38
knives :session值取用密碼不知可行嗎 02/22 06:56
lhsieh :http本就存在很多漏洞,否則史丹佛不會有2代網路計劃 02/22 09:18
ckmarkhsu :這樣一定會爆炸,在登入的時候 gen 一組 md5 02/22 09:19
ckmarkhsu :存在資料庫內,每次使用者重新整理都比對一次 02/22 09:20
ckmarkhsu :這樣被偽造的機會比較低 02/22 09:20
john0227 :應該是問$_GET的變數可以在.php?後加上變數=?? 02/22 10:13
john0227 :用戶或駭客有辦法可以自己創立或修改session變數嗎? 02/22 10:14
jim221 :應該不行吧..不過如果用戶/駭客有辦法進去你的主機 02/22 10:59
jim221 :的話是確定可以的 02/22 10:59
jim221 :扼..也不是100%可以啦XDrz 02/22 11:01
sdcomputer :可以喔~XSS+session挾持 會不會被破看你怎麼防而已 02/22 13:13
JeffMcBride :同意樓上 我的建議是瀏覽器+IP檢測 02/22 14:20
JeffMcBride :原po的level 1比level3還要低喔@.@ 還是我誤會了 02/22 14:21
chph :要安全的話, 你不該把使用者等級存在SESSION 02/22 16:37
chph :應該存在PHP array或是資料庫內, 需要時去對照撈出來 02/22 16:37
chph :SESSION通常儲存是否已經驗證、帳號 02/22 16:38