LaT*_*TeX 3 asp.net asp.net-mvc asp.net-mvc-3
为了防止用户在往返(从调用HttpGet处理到HttpPost处理操作方法)之间篡改任何id(例如:CustomerId,UserId,ProductId等),我想使用TempData[]
.
但是,大多数人使用隐藏字段来跟踪ID.但我认为用户仍然可以篡改它们.
简而言之,
TempData["id"]
比使用隐藏字段更安全地跟踪往返HttpGet和HttpPost之间的ID?TempData[]
吗?在这种情况下,我TempData[]
仅用于跟踪ID,而不用于其他字段.其他字段仍然向用户公开.
您应始终验证用户输入,在这种情况下,请确保传入的任何ID实际上是用户也可以访问的ID.那么更安全吗?不是真的,因为如果你像你一样进行验证,那么隐藏的输入就没有任何缺陷.
使用tempdata意味着您接受来自路径(可能是)HTML表单和现在TempData的参数.这看起来非常复杂,而不是在控制器内部具有真正的安全性.
每次提出请求后,TempData也会消失.这意味着你的Post方法也必须填充TempData,增加了额外的复杂性.
归档时间: |
|
查看次数: |
1308 次 |
最近记录: |