[請益] 不使用get,session傳遞資料

看板PHP作者 (胖胖)時間15年前 (2010/05/31 12:26), 編輯推噓2(2012)
留言14則, 4人參與, 最新討論串1/1
不好意思想請問一下 我現在有個資料列表頁面ex: name email 編輯 點入編輯後會跑到編輯資料的頁面(跟資料列表不同頁) 表單我是利用post來傳資料,所以 編輯資料頁面會接收到post過來的num(主鍵) if($_POST['num']) $num = $_POST['num']; 在編輯資料的頁面也是用post的方式來送出表單(儲存編輯的資料),但是這時候我原本編 輯資料頁面post過來的num(主鍵)值會消失 原本是想在post過來的時候用session記住,可是發現一個很大的問題,假如使用者"同時" 編輯不同的資料 session的值會被互相覆蓋掉 if($_POST['id']) { $_SESSION['id'] = $_POST['id']; } 用get又不安全,我後來是想了一個方法,就是不用session也不用get,我在表單多增加一個 隱藏欄位也叫num 然後用這種方法 <input type="hidden" name="id" id="num" value="<? echo $_POST['num']?>"/> 所以當編輯資料的頁面送出表單時,也可以接收到原本傳過來的 num 請問這樣有什麼問題嗎?? 還是有更好的解決辦法,因為覺得這樣好像作法有點怪怪的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.168.71

05/31 14:16, , 1F
這個跟用get差不多
05/31 14:16, 1F

05/31 14:25, , 2F
怎麼說?? 這個應該沒辦法直接在網址列更改值吧??
05/31 14:25, 2F

05/31 14:25, , 3F
有其他更好的辦法嗎??
05/31 14:25, 3F

05/31 16:43, , 4F
這是標準作法啊,沒什麼不好
05/31 16:43, 4F

05/31 16:44, , 5F
如果是安全性考量的話,可以加上 hidden token
05/31 16:44, 5F

05/31 18:17, , 6F
恩我意思是說 如果擔心被改,hidden input也很容易改
05/31 18:17, 6F

05/31 18:18, , 7F
真的要考慮的是例外狀況
05/31 18:18, 7F

05/31 18:19, , 8F
去裝個firefox addons web developer 或是用js改..
05/31 18:19, 8F

05/31 18:56, , 9F
感謝大家 有人有其他的作法可以參考一下嗎
05/31 18:56, 9F

05/31 20:22, , 10F
應該不要擔心num會被改,你要做的是檢查使用者有沒有權限
05/31 20:22, 10F

05/31 20:24, , 11F
改num, 這樣num在怎麼被改, 有權限就可以
05/31 20:24, 11F

05/31 20:25, , 12F
sorry, 應該是"有沒有權限編輯"..所以不怕num被改
05/31 20:25, 12F

05/31 20:30, , 13F
恩恩 如果我加上判斷權限的部分 這種做法會比使用GET好嗎?
05/31 20:30, 13F

05/31 20:30, , 14F
不讓使用者一直去試參數??
05/31 20:30, 14F
文章代碼(AID): #1C0pfkMJ (PHP)
文章代碼(AID): #1C0pfkMJ (PHP)