2014-10-19 40 views
1

我的網站用於管理客戶帳戶。如果我通過網站訪問CustomerA的帳戶,然後打開一個新選項卡並訪問CustomerB的帳戶,持有客戶ID更新的會話認爲我現在正在處理CustomerB。然後,如果我再次點擊CustomerA的標籤並開始編輯該頁面,我實際上正在編輯CustomerB的數據庫記錄。這已經發生並導致了各種各樣的問題,所以我需要找到一種可以阻止它的傻瓜式的方法。我不想將客戶ID放入網址中,因爲這會導致濫用行爲。如何在同一瀏覽器的不同選項卡中維護會話?

+0

在頁面加載時將客戶ID保存到查看狀態,並在回發時檢查viewstate的客戶id =會話的自定義ID,那麼你很棒!否則只是丟棄並顯示錯誤消息。 – 2014-10-19 10:59:17

+0

如果您不想公開該ID,請取customerID;生成一個隨機標記並將該標記添加到URL。保持令牌和內存中的ID之間的鏈接。仍然需要驗證它,因爲默默無聞的安全性不存在 – Pleun 2014-10-19 11:36:11

回答

0

由於您描述的問題,會話不是一個容納此類信息的地方。您需要將客戶ID與頁面本身(隱藏字段或網址中)一起傳遞,因此,當您發回表單時,它完全知道您要做什麼。會話不會保護你,也不會增加任何額外的安全性。您需要確定用戶是否擁有正確的權限,因此您應該關注此方面。

相關問題