【发布时间】:2012-09-19 06:26:51
【问题描述】:
我有一个隐藏的表单域来删除我的 razor 网页应用程序中的项目
<input type="hidden" value="137" name="id">
用户可以轻松更改项目值并删除其他用户的产品,我们如何保护这一点?
【问题讨论】:
-
如果您发布部分代码来检索表单值并更新数据库,这将有所帮助。
标签: asp.net razor asp.net-webpages
我有一个隐藏的表单域来删除我的 razor 网页应用程序中的项目
<input type="hidden" value="137" name="id">
用户可以轻松更改项目值并删除其他用户的产品,我们如何保护这一点?
【问题讨论】:
标签: asp.net razor asp.net-webpages
您应该进行服务器端验证,以确保用户具有编辑/删除(或任何其他操作)该实体的适当授权。
例如,在您的Controller
[HttpPost]
public ActionResult Delete(int? id)
{
if (CanUserDeleted(id))
{
Delete(id);
// more magic
}
else
{
// Give the user an error
}
}
【讨论】: