如何使用csrf令牌asp c#?
问题描述:
我已经开始使用asp mvc 3,然后使用c#和剃须刀。我想使用带有安全性的表单发送请求POST。如何使用csrf令牌asp c#?
我想用剃刀呈现一些像
<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和剃须刀。
请帮帮我!
答
在您的操作方法中,您需要添加相应的属性[ValidateAntiForgeryToken],并验证您的输入。
答
您的代码状态有问题。有两种嵌入式格式:外部格式和由Html.BeginForm
生成的格式。但是,验证令牌的方法是用[ValidateAntiForgeryToken]
修饰目标操作或控制器。
因此,要么:
[ValidateAntiForgeryToken]
public ActionResult Index()
{
return View();
}
或验证所有方法控制器:
[ValidateAntiForgeryToken]
public class MyController : Controller
{
}
如果这个答案是对您有用,请接受它。 – 2014-12-18 20:49:35