记录一些小知识点。
overposting攻击指的是过多提交,也就是攻击者通过在浏览器上修改等手段,将不应该修改的字段值修改然后提交了。
对策便是使用Bind特性,可以白名单方式,将只允许修改的字段绑定。
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(int id, [Bind("Id,Title,ReleaseDate,Genre,Price,Rating")] Movie movie)
......
使用注解ValidateAntiForgeryToken
具体择日再叙。
如下前端的Razor代码
<th>
@Html.DisplayNameFor(model => model.Movies![0].Title)
</th>
<th>
@Html.DisplayNameFor(model => model.Movies![0].ReleaseDate)
</th>
!的作用是什么。
!的作用是非空操作符(null-forgiving operator),声明model.Movies0不可能为NULL。如果去掉!的的话,
<th>
@Html.DisplayNameFor(model => model.Movies[0].Title)
</th>
<th>
@Html.DisplayNameFor(model => model.Movies![0].ReleaseDate)
</th>
则会显示如下警告。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。