Fer*_*eia 2 c# asp.net-mvc csrf asp.net-mvc-4
ASP.NET MVC 4 Beta模板生成的页面是否可以安全地防止跨站点请求伪造?
具体来说,"控制器具有读/写操作和视图,使用EntityFramework"生成的"编辑"视图和控制器操作是否受CSRF保护?
检查编辑表单生成的HTML代码,我看不到隐藏字段或其他方式来实现防伪标记.
我错过了什么或默认示例不安全吗?
dan*_*wig 16
您需要明确实现防伪标记.
在视图中:
@using (Html.BeginForm(...
{
@Html.AntiForgeryToken()
...
}
Run Code Online (Sandbox Code Playgroud)
在控制器中
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult MyAction(MyViewModel model)
{
...
Run Code Online (Sandbox Code Playgroud)
您始终可以创建自定义T4模板来为您生成此模板,但是,默认情况下,开箱即用的模板不会执行此操作.