我已经开发了一个asp.net mvc网站,并尝试在Ajax帖子中使用antiforgerytoken。
我可以在ajax请求中包含antiforgerytoken并将其设置在我的控制器中。
但是,当webapp运行且检查浏览器时,可以在将__RequestVerificationToken变量传递给服务器之前对其进行修改。
在此示例中,最初是:
__RequestVerificationToken: "_C9FNX_hWGQ7kndoTNZS7f-s4j44GHKQpWMnAf-862GVKleXSC…_zXqMdgXNME9uIYQy4cI0k-B5EW73oXbfys9Dmkt1vWJA2oA1"
但是我操纵了它,并将其值更改为:
__RequestVerificationToken: "yyy"
我的控制器函数接收__RequestVerificationToken没有任何问题,即使它已被操纵。
[System.Web.Mvc.HttpPost]
[ValidateAntiForgeryToken]
public IHttpActionResult GrabaResolucionCiudadano([FromBody] BE_Resolucion c)
{
BL_Resolucion b = new BL_Resolucion();
try
{
c = FillDatosPrevio(c);
if (ModeloValido)
{
b.SaveData(c);
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
b.Dispose(); b = null;
}
}
应如何使用防伪令牌?