我开始使用asp mvc 3,然后是c#和razor。我想使用具有安全性的表单来发送请愿POST。
我想用razor渲染一些像那样的
<form action="/sass/" method="post">
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
<div class="form-group">
<label>Ingresa tu Nombre</label>
<input class="form-control" name="nombre" />
</div>
<div class="form-group">
<input type="submit" value="Enviar mi duda" class="btn btn-primary btn-sm" />
</div>
}
在C#中我不知道如何验证csrf令牌是有效的。 我使用C#,asp mvc3和razor。
请帮助我!
答案 0 :(得分:3)
在您的操作方法中,您需要添加相应的属性 [ValidateAntiForgeryToken] ,并为您验证输入。
答案 1 :(得分:2)
您的代码状态有问题。有两种嵌入形式:外部形式和Html.BeginForm
生成的形式。但是,验证令牌的方法是使用[ValidateAntiForgeryToken]
装饰目标操作或控制器。
所以:
[ValidateAntiForgeryToken]
public ActionResult Index()
{
return View();
}
或验证控制器中的所有方法:
[ValidateAntiForgeryToken]
public class MyController : Controller
{
}