在我正在建設的網站上,我需要允許用戶編輯他們的訂單。很簡單。但是,如何確保用戶無法編輯其他用戶的訂單?我是否在模型或控制器中執行檢查以驗證訂單是否屬於經過驗證的用戶?我在哪裏阻止用戶訪問其他用戶的數據?
1
A
回答
0
很抱歉,您的網站沒有任何方式讓用戶嘗試編輯其他人的訂單。但是,如果仍然可以嘗試,可以將該邏輯放入模型或控制器中。這是一個意見問題。有些人會說控制器應該做訪問檢查等事情,而模型只知道如何修改自己。其他人會說「胖模型,瘦身控制器」,並說安全檢查需要在控制器之間重複使用,所以他們應該進入模型。這是你的電話。
1
在視圖(是,視圖)中進行檢查以快速響應用戶錯誤。
在控制器中進行檢查以確保數據完整性。例如,在基於網絡的應用程序中,您可能使用瀏覽器JavaScript檢查所有字段(包括用戶名),以便用戶快速響應以修復錯誤的事務。然而,回到你的服務器,你不能依靠瀏覽器來真正驗證數據,因爲瀏覽器不在你的控制之中 - 它可能被破壞,無論是有意還是無意,並且不按照你的意圖進行驗證。因此,您需要在服務器上重新驗證的所有內容以確保完整性。
+0
這是正確的,你應該首先在服務器上做驗證,解析等工作。然後,您可以使用JavaScript和AJAX等客戶端技術添加波蘭語。這種方法被稱爲[漸進式增強](http://en.wikipedia.org/wiki/Progressive_enhancement)。想象一下,依靠JavaScript的瀏覽器端驗證,可以輕鬆禁用! – szalski 2012-03-12 09:06:39
相關問題
- 1. 阻止訪問其他用戶
- 2. 阻止用戶訪問其他用戶帳戶
- 3. 阻止其他xmpp客戶端訪問我的ejabberd服務器
- 4. 如何阻止相同類型的用戶訪問Laravel中的其他數據?
- 5. 防止網址篡改訪問其他用戶的數據
- 6. 允許用戶訪問couchdb中的其他用戶數據
- 7. 已登錄用戶可以訪問其他用戶的數據
- 8. Laravel - 不允許用戶訪問其他用戶數據
- 9. 其他用戶訪問Api
- 10. 允許Facebook用戶在我的應用程序中阻止其他Facebook用戶
- 11. 如何防止用戶訪問其他用戶記錄?
- 12. 阻止用戶訪問應用程序
- 13. 阻止用戶訪問特定的URL
- 14. 如何阻止用戶刪除其他用戶的帖子?
- 15. 如何防止其他用戶訪問我的Firebase
- 16. 我們可以訪問用戶插槽雲數據從其他用戶RealtimeMultiPlayer
- 17. 阻止用戶手動訪問頁面
- 18. 阻止用戶訪問網站
- 19. 阻止用戶直接訪問頁面
- 20. 阻止用戶訪問URL php文件
- 21. 阻止SVN訪問某些用戶
- 22. 用戶訪問其他用戶的表單使用這裏的Django拉條
- 23. 如何阻止用戶更改URL中的ID以訪問其他記錄?
- 24. 如何阻止從其他應用程序訪問我的帳戶密碼(帳戶和同步)?
- 25. 使用其他用戶名訪問HDFS
- 26. 如何防止用戶更改/刪除其他用戶數據
- 27. 阻止其他用戶進行文件訪問SVN獲取鎖定
- 28. 我如何阻止客戶訪問但不訪問我的應用程序?
- 29. file_get_contents/curl阻止其他客戶端
- 30. CakePHP:防止用戶訪問其他用戶的視圖和方法
我不認爲這是表示無知的危險程度。他已經知道通過驗證身份驗證的用戶來確保網站的安全,但這似乎更像是一種編碼風格和MVC體系結構問題。標題有點誤導。 – Tesserex 2010-05-28 13:40:12