我有一个网站,用户可以登录,然后更新他们的详细信息。 表单字段是标题,名称,地址等。我有一个HiddenFor,我放了UserID。
发布表单时,它使用UserID来了解要更新的用户详细信息。
用Fiddler查看POST我可以看到隐藏字段及其数据被发送。我当然担心我可以用这个来制作一个POST,将UserID更改为另一个值并更新其他人的数据。
前面和后面的AntiForgeryToken吗?后面的ValidateAntiForgeryToken属性完全解决了这个问题?或者还有另一步吗?
@using (Html.BeginForm("MyAction", "MyController")) {
@Html.AntiForgeryToken()
和
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult MyAction(MyModel model)