请原谅我的noob问题,但我注意到对于MVC 6,bind属性在控制器模板中不再显示为默认值。
我知道我的属性仍然存在,但是我们仍然需要使用它们吗?我听说它们可以用来防止过度发布攻击。他们是否删除它,因为MVC 6可以找到防止这种情况的方法而不使用它们?或者有更安全的方法可以防止这种情况吗?
答案 0 :(得分:0)
防止重叠的最佳方法是获取实体,仅更新更新所需的属性并保存。
假设你有一个像
这样的视图模型NullPointerException
并假设有一个名为Update的视图,在只读/仅显示表单中显示public class CustomerViewModel
{
public int Id {set;get;}
public String UserName {set;get;}
public String FirstName {set;get;}
public String LastName {set;get;}
}
,在可编辑字段中显示UserName
和FirstName
。因此,即使用户通过某种方式发布更新的UserName,我们也不应该更新该字段值。
LastName